2017-01-25 6 views
0

リモートWSDL Webサービスから特定のフィルタを使用しようとしています。そうしようとするとエラーは発生しませんが、これらのパラメータが無視されているデータの完全なリストが得られます。PHP経由のWSDL SOAPコール - 無視されるパラメータ

$client->__getFunctions()を呼び出すと空白のページが取得されるため、何をすべきかわかりません。

これはXMLです:

<s:element name="Entities"> 
    <s:complexType> 
     <s:sequence> 
      <s:element minOccurs="0" maxOccurs="1" name="Format" type="s:string"/> 
      <s:element minOccurs="0" maxOccurs="1" name="wherefilter" type="s:string"/> 
      <s:element minOccurs="0" maxOccurs="1" name="ordercondition" type="s:string"/> 
     </s:sequence> 
    </s:complexType> 
</s:element> 

そして、これは私がPHPでそれをやろうとしている方法です:

public static function fetch($name = 'Entities') 
{ 
    $base = 'http://tempuri.org/'; 

    $client = new \SoapClient(null, [ 
     'location' => '...', 
     'uri'  => '...', 
     'trace'  => 1, 
     'exceptions' => true 
    ]); 

    $params = ['Format' => 'JSON']; 

    try { 
     // $params is being ignored 
     $data = $client->__soapCall($name, $params, ['soapaction' => $base . $name]); 

     return $data; 
    } 
    catch (\SoapFault $ex) { 
     abort(403, $ex); 
    } 
    catch (Exception $ex) { 
     die($ex); 
    } 
} 

私が間違ってやって上の任意のヒントをいただければ幸いです。

答えて

0

答えのためにインターネットを回覧した後、私はこの作業をするためにコードを再構成しなければなりませんでした。私は、古いセットアップがうまくいかなかった理由を完全には分かっていませんが、今はうまくいきます:

関連する問題