在PHP中设置SOAP的参数

时间:2011-10-16 22:48:14

标签: php soap

我真的是新的威士忌,所以请帮我设置发送请求的参数:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <ManagedSoapHeader xmlns="http://tempuri.org/">
      <_SID>string</_SID>
    </ManagedSoapHeader>
  </soap:Header>
  <soap:Body>
    <GetSessionParameters xmlns="http://tempuri.org/" />
  </soap:Body>
</soap:Envelope>

这是我的代码

   $client->getInfo(array("Header" => array("ManagedSoapHeader" => array("_SID" => $sessionID)))); //->ManagedSoapHeader(array("_SID" => $sessionID));

但是我在服务器上设置课程时遇到了致命的错误...对此没有任何想法...所以我的问题:

如何设置_SID?

2 个答案:

答案 0 :(得分:0)

我不确定您使用的是哪个库,但您可能对阅读已包含在PHP 5中的SOAP客户端感兴趣。

http://www.php.net/manual/en/soapclient.soapclient.php

例如,要使用PHP SoapClient设置SOAP的参数,您只需要这样做:

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));

您可能还想研究其他第三方客户端,例如NuSOAP,这是对本机PHP客户端的改进。

http://sourceforge.net/projects/nusoap/

答案 1 :(得分:0)

尝试使用http://php.net/manual/en/soapclient.setsoapheaders.php类似

的内容
$client->__setSoapHeaders($headers);
$client->getInfo(...)

最后,你为什么打电话给$client->getInfo(...)?在SOAP Body中,我看到你只有GetSessionParameters个操作。恕我直言,你应该致电

$client->GetSessionParameters(...)