PHP Soap 客户端错误
PHP Soap Client Errors
我正在尝试使用第三方组织提供的网络服务。
服务的 URL 是 this
这是我试过的:
$sc = new SoapClient( $my_wsdl_url, array(
'soap_version' => SOAP_1_2
) );
第一个问题:检查提供的函数时,我得到一个未知类型:
array(3) {
[0]=>
string(26) "UNKNOWN getDeletedHotels()"
[1]=>
string(23) "UNKNOWN getMasterData()"
[2]=>
string(44) "UNKNOWN getHotelData(dateTime $dRequestDate)"
}
我找到了 this,但我无法访问 SOAP 服务器。那么,如何更改 SOAP 客户端中的设置以获得正确的 return 类型?
尽管如此,我尝试调用上述函数getHotelData()
,但大约需要2分钟才能得到响应。响应是一个错误:
Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http
body, No Content-Length, connection closed or chunked data in [...]
有多个帖子具有相同的错误消息。我在这里阅读了 this post 并通过将这些设置添加到客户端进行了尝试:
$sc = new SoapClient( $my_wsdl_url, array(
'soap_version' => SOAP_1_2,
'trace' => 1,
'stream_context' => stream_context_create( array(
'http' => array(
'protocol_version' => 1.0
) ) );
) );
之后,服务器完全没有响应!
所以,我有点卡在这里了。有人可以把我推向正确的方向吗?
PHP-版本是5.4.19,在mac运行xampp
更新
我将上面的代码减少到最低要求(没有登录的东西),但我仍然无法获得完整的列表。
在使用 Amazon 的 Web 服务之一进行测试时,我得到了所有可用功能的完整列表。
$sc = new SoapClient( 'http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl', array(
'soap_version' => SOAP_1_2,
) );
// List all functions. This works
var_dump( $sc->__getFunctions() );
所以,会不会是 webservice 本身设置不正确?
我最终得到了一个可行的解决方案,灵感来自这里的这个答案:Sending Raw XML via PHP SoapClient request after getting the required request XML by using the software from http://www.soapui.org/
我正在尝试使用第三方组织提供的网络服务。
服务的 URL 是 this
这是我试过的:
$sc = new SoapClient( $my_wsdl_url, array(
'soap_version' => SOAP_1_2
) );
第一个问题:检查提供的函数时,我得到一个未知类型:
array(3) {
[0]=>
string(26) "UNKNOWN getDeletedHotels()"
[1]=>
string(23) "UNKNOWN getMasterData()"
[2]=>
string(44) "UNKNOWN getHotelData(dateTime $dRequestDate)"
}
我找到了 this,但我无法访问 SOAP 服务器。那么,如何更改 SOAP 客户端中的设置以获得正确的 return 类型?
尽管如此,我尝试调用上述函数getHotelData()
,但大约需要2分钟才能得到响应。响应是一个错误:
Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http
body, No Content-Length, connection closed or chunked data in [...]
有多个帖子具有相同的错误消息。我在这里阅读了 this post 并通过将这些设置添加到客户端进行了尝试:
$sc = new SoapClient( $my_wsdl_url, array(
'soap_version' => SOAP_1_2,
'trace' => 1,
'stream_context' => stream_context_create( array(
'http' => array(
'protocol_version' => 1.0
) ) );
) );
之后,服务器完全没有响应!
所以,我有点卡在这里了。有人可以把我推向正确的方向吗?
PHP-版本是5.4.19,在mac运行xampp
更新
我将上面的代码减少到最低要求(没有登录的东西),但我仍然无法获得完整的列表。
在使用 Amazon 的 Web 服务之一进行测试时,我得到了所有可用功能的完整列表。
$sc = new SoapClient( 'http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl', array(
'soap_version' => SOAP_1_2,
) );
// List all functions. This works
var_dump( $sc->__getFunctions() );
所以,会不会是 webservice 本身设置不正确?
我最终得到了一个可行的解决方案,灵感来自这里的这个答案:Sending Raw XML via PHP SoapClient request after getting the required request XML by using the software from http://www.soapui.org/