0
私の友人、私はそれがdeserilizationの誤差を与え続けている私のコードで間違ってやっているかを知りたいと思います。すべてのパラメータを正しく設定すると、クラスエラー(stdClass)が表示されます。 SOAP UIとPHPコードでのwsdlプリントを示します。私はすでにコメントしたオプションをコメントに残しました。PHPのSOAP:[:DeserializationFailed]
<pre>
$soapParams = array('login' => 'master',
'password' => 'master',
'authentication' => SOAP_AUTHENTICATION_BASIC,
'trace' => 1,
'exceptions' => 0);
$client = new SoapClient("http://189.60.63.128:8061/wsDataServe/MEX?wsdl",$soapParams);
//$result = $client->__soapCall("ReadView",$params);
//$result = $client->__soapCall("ReadView",array('DataServerName' => 'EduAlunoData', 'Filtro'=>'?', 'Contexto'=>'?'));
//$result=$client->__call("ReadView", ['ReadView' => ['DataServerName' => 'EduAlunoData', 'Filtro' => '1=1','Contexto'=>'?']]);
$result=$client->__soapCall("ReadView", ['DataServerName' => "EduAlunoData", 'Filtro' => '1=1','Contexto'=>'?']);
print $result;
</pre>
Image of the WSDL from SOAP UI
これはエラーです:ConnectedSoapFault例外:[:DeserializationFailed]メッセージをデシリアライズしようとしているときにフォーマッタが例外をスローしました:デシリアライズ中にエラー操作 'ReadView'の要求メッセージの本体。名前空間から終了要素の体は '「http://schemas.xmlsoap.org/soap/envelope/」期待。名前空間 ''から要素 'param1'が見つかりました。 C:\ xampp \ htdocs \ soap \ soap.php:79スタックトレース:#0 C:\ xampp \ htdocs \ soap \ soap.php(79):SoapClient - > __ soapCall( 'ReadView' 、Array)#1 {main} –
これは正しいコードです:$ result = $ client-> ReadView($ params); は私がのvar_dump($クライアント - > __ getTypesを())を使用しました。構造を知るために "struct ReadView {string DataServerName; string Filtro; string Contexto;}" –