当前位置: 首页 > 知识库问答 >
问题:

PHP Soap客户端错误

慕通
2023-03-14

我正在尝试使用第三方组织提供的web服务。

服务的URL如下

$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)"
}
Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http 
body, No Content-Length, connection closed or chunked data in [...]

有几个帖子带有相同的错误消息。我在这里阅读了这篇文章,并通过向客户端添加这些设置来尝试它:

 $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 
                ) ) );
        ) );

之后,服务器根本没有响应!

所以,我有点被困在这里了。有人能把我推到正确的方向吗?

$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() );

共有1个答案

郎伟兆
2023-03-14

我最终得到了一个可行的解决方案,受此答案的启发:在使用http://www.soapui.org/中的软件获得所需的请求XML之后,通过PHP SoapClient请求发送原始XML

 类似资料:
  • 我们试图对cadence设置进行基准测试(目前在2个EC2实例上运行:m5a.xlarge ),发现了许多cadence客户端错误: cadence_service:cadence_matching,操作:历史记录重新记录活动任务已启动

  • 我的服务器上再次收到错误。 { “错误”: “invalid_client” } 我已经编码到base64并将域列入了白名单,但仍然得到相同的错误。我会感激任何帮助,这让我发疯了,哈哈。

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 我试图自动化Web服务,并以字符串的形式传递XML,然后将其转换为字符串实体并设置实体。但我不知道为什么会抛出400错误。我是WebServices Automation的新手,请在这方面帮助我。 以下是我的代码:

  • 我已经使用java nio创建了一个客户端-服务器应用程序,它工作正常,但我的问题是,当服务器有许多连接到服务器的客户端时,服务器会响应错误的客户端,而不是请求客户端。例如,如果客户端A请求第一个人的信息,服务器将第一个人的信息返回给客户端B而不是客户端A。我已经尝试同步对象,但仍然无法正常工作,可能是什么问题。这是我的服务器示例代码

  • URI 方法 URI() string 返回当前客户端使用的服务器地址。 SetURI 方法 SetURI(uri string) 设置当前客户端使用的服务器地址。如果你想要设置多个服务器地址,请使用 SetURIList 方法代替该方法。 URIList 方法 URIList() []string 返回当前客户端可使用的服务器地址列表。 SetURIList 方法 SetURIList(uriL