在PHP中设置SOAP参数



我是真正的新whis 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?

我不确定您使用的是什么库,但是您可能对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/

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

$client->__setSoapHeaders($headers);
$client->getInfo(...)

最后,为什么叫$client->getInfo(...) ?在SOAP主体中,我看到您只有GetSessionParameters操作。我认为你应该打电话给

$client->GetSessionParameters(...)

最新更新