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

FedEx Rate服务上的PHP SOAP“获取http正文或块数据时出错”

沈琨
2023-03-14

我得到“错误提取http正文,没有内容长度,连接关闭或分块数据”时,做一个SOAP请求联邦快递费率服务。

运行Apache 2.4.4、PHP 5.4.12。这段代码运行在不同的服务器上,该服务器运行Apache 2.2.3、PHP 5.3.27。

require_once('fedex-common.php5');
$path_to_wsdl = __DIR__ . "/RateService_v10.wsdl";
ini_set( "soap.wsdl_cache_enabled", "0" );

$context = stream_context_create(array(
    'http'=>array(
        'protocol_version' => 1.0
    )
));

$client = new SoapClient( $path_to_wsdl, array( 'trace' => 1,  'stream_context'=>$context ) ); 

...

try {
    ...
    $response = $client->getRates( $request );
    ...
} catch ( SoapFault $exception ) {
    echo($client->__getLastRequestHeaders());
    echo($client->__getLastResponseHeaders());
    printFault( $exception, $client );
}
POST /web-services/rate HTTP/1.1
Host: ws.fedex.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.4.12
Content-Type: text/xml; charset=utf-8
SOAPAction: "getRates"
Content-Length: 3875
HTTP/1.1 200 OK
Date: Thu, 31 Oct 2013 19:12:23 GMT
Server: Apache/2.2
x-wily-servlet: Encrypt1 GaMcoOotgOSMyoYj73M4dqm654IQUUy2VYo7kRLnWqp7O1G9YaZThSMVcxtIAA7cQSSESAO/CtqxI1OyaPemJzOZK7N+WNRwu686y5jWfxAuKqFeRiYJ1NPQTJShYPzp7gOpypOE/sg3Ti/CjdT3XaNt6/pEd18+pXDMyIfKrxnz4xWyAOl9y4Rosae418ks0PYNS9GJy2iOfaSXRiWFkA==
X-Powered-By: Servlet/2.5 JSP/2.1
x-wily-info: Clear guid=0FEE460DCC8738E20EC18F87798CDA26
Vary: Accept-Encoding
Keep-Alive: timeout=8, max=1024
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/xml; charset=utf-8

我怀疑我的Apache或PHP配置存在某种问题。

解决方案:降级到Apache 2.2.22和PHP 5.3.13修复了该问题

共有1个答案

苗信鸥
2023-03-14

降级到Apache 2.2.22和PHP 5.3.13修复了该问题。

 类似资料:
  • 我在使用SOAP向服务器提交用户数据时遇到了一些困难。所有我得到的是: 错误获取http正文,没有内容长度,连接关闭或分块数据,我做错了什么? 最后一个响应头:HTTP/1.1 200 OK X-SiteConfiden:jenppb601内容-位置:http://.***.*/general/html/pages/layouts/columncontent.jsp内容-语言:de-DE cont

  • 我得到了错误: 06-24 10:41:36.497 173 16-17316/com.example.waseem.geolocation:location_service e/androidruntime:致命异常:main process:com.example.waseem.geolocation:location_service,pid:17316 java.lang.runtimeEx

  • 我试图使用Angular 2 HTTP从REST web服务获取数据。 我首先将服务注入调用它的客户端组件类的构造函数中: ps:jsonData是客户端组件类的字符串属性。

  • 本文向大家介绍node.js+Ajax实现获取HTTP服务器返回数据,包括了node.js+Ajax实现获取HTTP服务器返回数据的使用技巧和注意事项,需要的朋友参考一下 我们看一个HTML5页面中通过AJAX请求的方式获取HTTP服务器返回数据的代码示例.由于我们把服务器的端口指定为1337,并将从端口为80的网站中运行HTML5页面,因此这是一种跨域操作,需要在HTTP响应头部中添加Acces

  • 我是Vue新手,我有一个网页组件(电影歌曲列表),它从页面路由参数(通过此.$store.state.route.params.movieId)接收电影id,然后使用以下命令从服务器上的数据库获取实际用户歌曲数据:this。movie=(等待MoviesService.show(movieId))。数据,show函数是通过id查找db中的参数,并将内容发送回前端。 我的问题是,每当我点击查看按钮时