通过PHP调用WSDL SOAP-忽略参数
我试图使用远程WSDL web服务中的某些过滤器。在尝试这样做时,我没有得到任何错误,但我得到的只是忽略这些参数的完整数据列表 调用通过PHP调用WSDL SOAP-忽略参数,php,web-services,soap,wsdl,soap-client,Php,Web Services,Soap,Wsdl,Soap Client,我试图使用远程WSDL web服务中的某些过滤器。在尝试这样做时,我没有得到任何错误,但我得到的只是忽略这些参数的完整数据列表 调用$client->\uu getFunctions()将检索一个空白页,因此我不确定该怎么办 这是XML: <s:element name="Entities"> <s:complexType> <s:sequence> <s:element minOccurs="0" max
$client->\uu 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>
如果有任何关于我做错了什么的提示,我将不胜感激。在网上寻找答案后,我不得不重新构造代码,以使其正常工作。我不完全清楚为什么旧的设置不起作用,但这就是它现在的工作方式:
public static function fetch()
{
$options = [
'trace' => 1,
'exceptions' => true
];
$client = new \SoapClient('my_soap_url.asmx?WSDL', $options);
try {
$input = new \stdClass();
$input->Format = "JSON";
$data = $client->Entities($input);
return reset($data);
}
catch (Exception $ex) {
echo 'Caught exception: ', $e->getMessage(), PHP_EOL . PHP_EOL;
echo 'REQUEST:' . $client->__getLastRequestHeaders() . $client->__getLastRequest() . PHP_EOL . PHP_EOL;
echo 'RESPONSE:' . $client->__getLastResponseHeaders() . $client->__getLastResponse();
}
}
public static function fetch()
{
$options = [
'trace' => 1,
'exceptions' => true
];
$client = new \SoapClient('my_soap_url.asmx?WSDL', $options);
try {
$input = new \stdClass();
$input->Format = "JSON";
$data = $client->Entities($input);
return reset($data);
}
catch (Exception $ex) {
echo 'Caught exception: ', $e->getMessage(), PHP_EOL . PHP_EOL;
echo 'REQUEST:' . $client->__getLastRequestHeaders() . $client->__getLastRequest() . PHP_EOL . PHP_EOL;
echo 'RESPONSE:' . $client->__getLastResponseHeaders() . $client->__getLastResponse();
}
}