【发布时间】:2015-03-04 23:58:29
【问题描述】:
我正在尝试使用名为 Chaverweb 的 SOAP 服务。我有他们的 WSDL;是here。
当我尝试发出像 GetCWVersion 这样的简单请求时,它可以正常工作,但每当我尝试请求需要某种身份验证的功能时,例如 Get_Syn_Comsend(获取机构的详细信息),它就不起作用工作。
我尝试按照 WSDL 中的指定设置 AuthHeader,但它不起作用。
这是我的代码。我希望有一些明显的事情我没有做,因为这是我第一次使用 SOAP:
try {
$soapClient = new SoapClient('https://www.chaverweb.net/Synagogue.asmx?WSDL');
$header = new SoapHeader('https://www.chaverweb.net/webservices/', 'AuthHeader', array("Username"=>"xx@yy.com", "Password"=>"...", "SynKey"=>"..."), false);
$header2 = new SoapHeader('https://www.chaverweb.net/webservices/', 'SFHeader', array("sf"=>""), false);
$soapClient->__setSoapHeaders(array($header, $header2));
$versionResponse = $soapClient->Get_Syn_Comsend();
print_r($versionResponse);
} catch (SoapFault $exception) {
echo "Exception: " . $exception->getMessage();
}
顺便说一句,这给了我:stdClass Object ( ) 非常感谢!
【问题讨论】:
-
你能解释一下“不工作”是什么意思吗?你有错误吗?如果是,那是什么错误。
-
它返回一个空白的stdClass-页面显示stdClass Object ()
-
格式和语法修复。
-
您问题中的凭据是实际凭据吗?
标签: php web-services soap wsdl