好吧,我已经厌倦了为此绞尽脑汁,所以希望这里有人能启发我:
我正在尝试使用 PHP 和 nuSOAP 访问 SOAP 服务。虽然我已经使用 PHP5 的内置 SoapClient 成功访问了该服务,但不幸的是,我仅限于 PHP4,并且使用的是 nuSOAP;导致我无法弄清楚的 WSDL 错误。
PHP5 代码(有效):
$wsdl= 'https://mybilling.hipointinc.com:8443/wsdl.fcgi?get=Session.xsd';
$soap_client = new SoapClient($wsdl, array('trace'=>1));
$args = array("login" => $account_id, "password" => $password, "domain" => $domain);
$session = $soap_client->login($args);
nuSOAP 代码(不起作用):
$wsdl= 'https://mybilling.hipointinc.com:8443/wsdl.fcgi?get=Session.xsd';
$namespace = 'https://mybilling.hipointinc.com/UM/SOAP/Session';
$soap_client = new soapclient($wsdl, true, null, $namespace);
$args = array("login" => $account_id, "password" => $password, "domain" => $domain);
$session = $soap_client->call('login', array($args));
这将返回以下错误:
wsdl error: http://schemas.portaone.com/soap:LoginRequest (LoginRequest) is not a supported type.
为什么 PHP5 版本可以工作,而 nuSOAP 版本不行?我确定这只是我忽略的一些愚蠢的事情,但我会很感激一些帮助。
有关更多信息,我正在使用 Porta Switch,PortaBilling XML API:文档