我第一次使用PHP SoapClient尝试使用WCF API,但到目前为止还没有锁定。
开始时,我需要从LOGIN
函数中检索一个令牌,并在调用其他函数时使用此令牌。登录详细信息:
到目前为止,我已尝试了多种组合,通常是这样的:
<?php
ini_set('soap.wsdl_cache_enabled',0);
ini_set('soap.wsdl_cache_ttl',0);
$params = array(
"soap_version" => SOAP_1_2,
"trace" => 1,
"exceptions" => 0,
);
$client = new SoapClient('http://bibjure.rwaao.no:8001/Jussystemer/BibjureService?singleWsdl', $params);
$retval = $client->Login('regular','');
if (is_soap_fault($retval)) {
trigger_error("SOAP Fault: (faultcode: {$retval->faultcode}, faultstring: {$retval->faultstring})", E_USER_ERROR);
}
var_dump($retval);
导致以下错误:
PHP Fatal error: SOAP Fault: (faultcode: s:Sender, faultstring: The creator of this fault did not specify a Reason.) in /mnt/data/fredrik/wcf-test.php on line 17
我不知道如何解决此错误。我希望有人可能会在我的代码中看到错误。
非常感谢。
答案 0 :(得分:0)
添加soap标头并尝试这样的方法。它可能有用
$client = new SoapClient('http://bibjure.rwaao.no:8001/Jussystemer/BibjureService?singleWsdl', $params);
$actionHeader = new SoapHeader('http://www.w3.org/2005/08/addressing','Action','http://tempuri.org/IService/GetData',true);
$client->__setSoapHeaders($actionHeader);
$retval = $client->Login('regular','');