1

わかりました、私はこれについて頭を悩ますのにうんざりしているので、ここの誰かが私を啓発できることを願っています:

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.

nuSOAP バージョンが動作しないのに、PHP5 バージョンが動作するのはなぜですか? 私が見落としたばかげたものだと確信していますが、助けていただければ幸いです。

詳細については、Porta Switch、PortaBilling XML API を使用しています:ドキュメント

4

1 に答える 1

1

OK、これをさらに調査した後、最終的に答えにたどり着きました。使用していたnuSOAPライブラリのバージョンをアップグレードする必要がありました。私は古いバージョンを持っていたことが判明し、そのバージョンを更新するだけで問題が解決しました (ため息) 私はそれがばかげていることを知っていましたが、グーグル経由でこのスレッドに遭遇する将来のコーダーのために: 私の過ちから学び、使用しているリソースは最新です。

于 2012-10-07T04:40:28.733 に答える