PHP SOAP 请求

标签 php soap soap-client content-length

我正在为客户开发一个 API 脚本,他们需要的服务之一是请求内容长度。据我所知,PHP 无法在 header 中发送 Content-Length。我可能是错的,但是,如果没有它,我会一直在标记 html 行 3 [string:Exception:private] => [code:protected] => 0 [file:protected] => 中得到 Premature end of data =>

代码如下:

<?
try
{
    $soap_url = 'http://admin.stock.imdfulfilment.com/api/service.asmx';
    $client = new SoapClient($soap_url);

    $header = new SoapHeader(

        'http://admin.stock.imdfulfilment.com/api/service/',
        'GetCouriers',
        array(
            'Content-Length' => '255'
        )
    );
    $client->__setSoapHeaders($header);
    var_dump($client->__getFunctions());
}
catch (Exception $e)
{
   print_r($e);
}

最佳答案

您的 wsdl uri 不提供 wsdl 文件,这就是问题所在...使用 http://admin.stock.imdfulfilment.com/api/service.asmx?wsdl

关于PHP SOAP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11089765/

相关文章:

php - preg_match 获取文本

php - 验证字符串的长度大于 0 并且在 PHP 中不是空格

php - Laravel 关系

php - 如何在 PHP 中发出 SOAP 请求

php - 为什么 SOAP 参数的顺序在 PHP SOAP 中很重要,以及如何修复它?

PHP mysql_query() 的参数计数错误 - 可能的语法错误

web-services - SoapUI 响应中的“不理解 "MustUnderstand" header ”错误

c# - WP8 应用程序中具有 WCF 服务的凭据

perl - 使用 Perl 的 SOAP::Lite 和 WSDL 文件进行 SOAP 调用

PHP SoapClient 无法使用 https WS