0

SOAP クライアントとして動作するサードパーティ アプリケーションに応答する SOAP サーバーを実装する必要があります。

サーバーは PHP である必要があるため、nusoap とhttp://www.wsdltophp.com/を使用してスケルトンを生成し始めました。

彼らが私にくれた wsdl ファイルは次のとおり です

私はこれに慣れていないので、助けていただければ幸いです。

サーバー用にこれまでに持っているものは次のとおりです。 http://pastebin.com/vARst5t0

クライアントをシミュレートするには: http://pastebin.com/seG7EmM6

エラーが表示されます: http://pastebin.com/Say6FmF6

どうもありがとう、みんな。

編集: サーバー上で error_reporting を無効にした後、以前のエラーが表示されないことがわかりました。

wsdl ファイルをロードし、各 complexType を手動で定義しないという nusoap 機能を使用していることを忘れていましたが、それでも機能せず、次のエラーが発生しました: Operation 'Ping' is not defined in the WSDL for this service. そして、私はそれがそこにあると確信しています。

4

2 に答える 2

2

パッケージを生成するときに選択したオプションに由来する可能性があります。実際、MySoapServicePing::Ping() メソッドを呼び出すと、パラメーターが適切に送信されない可能性があります: 配列に含まれているかどうか。そのため、生成動作を変更して、もう一度リクエストを送信してみてください。

また、SOAP サーバーに送信された XML 要求を調べて、それが要求からのものではないことを確認することもできます。XML リクエストを取得するには、リクエストの送信後に MySoapWsdlClass::getSoapClient()->__getLastRequest() メソッドまたは $mySoapServicePing->getLastRequest() メソッド (ジェネレーターのバージョンによって異なります) を呼び出します。

それが何かを変えるかどうか教えてください。

于 2013-06-11T10:30:39.360 に答える