我是真正的新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(...)