我必须使用带有POST方法的SOAP向Web服务发出请求,并且提供了它们提供的示例XML,我必须将其用于向WS的请求,而没有关于如何做的更多信息? 我尝试访问的Web服务用于身份验证,而我尝试的PHP代码包括登录名和密码信息。
<?php
$usuario = "login";
$password = "pass";
$strXml = "<soapenv:Envelope xmlns:soapenv=\'http://schemas.xmlsoap.org /soap/envelope/\' xmlns:guia=\'link to .wsdl\'>
<soapenv:Header/>
<soapenv:Body>
<guia:infoUser>
<guia:nif>userNIF</guia:nif>
</guia:infoUser>
</soapenv:Body>
</soapenv:Envelope>";
$wsdl = 'LINK TO WSDL???.wsdl';
$namespace = 'Here i think i need to put the link that goes to the part of auth on the wsdl';
$credentials = (object)array(
'login' => $usuario,
'pass' => $password
);
$auth_values = new SoapVar($credentials, SOAP_ENC_OBJECT);
$header = new SoapHeader($namespace, "authGUIA", $auth_values);
// set client, headers, and call function
$client = new SoapClient($wsdl, array('trace' => true));
$client->__setSoapHeaders(array($header));
我尝试了很多事情,但我不知道,还有什么可以尝试的?我做了很多测试,有的会给我消息“您必须使用POST而不是GET方法,因为密码将存储在日志中。”
如果在我的某些代码正确的情况下有人可以为我的问题提供解释/解决方案,我将不胜感激。
谢谢。