6

SOAP WebサービスがSoapUIを介して正常に機能している(正しいSOAP応答を生成する)場合、さまざまなAPI /フレームワークを使用してJavaでWebサービスクライアントを構築し、このWebサービスを呼び出すと、さまざまな問題が発生します。このWebサービスは安定していると見なしても安全です。問題は消費者側からですか?

私はここで一般的な質問をしています、私はすでに読むには長すぎるかもしれない詳細な質問をしました。実際の実装よりもコンセプトに興味がありますので、長い投稿を参考にせずに質問にお答えいただければと思います。

更新:WSDLがWS-Iに準拠していて、SoapUIを介して正しく機能している場合でも、Webサービスが壊れていないと結論付けるにはこれだけでは不十分であることに気付きました。@jtahlbornが言ったように、SoapUIは壊れたWebサービスに対して非常に寛容であり、Webサービスが正常に機能していると信じ込ませる可能性があります。これが私の場合です。

ESBでSOAP応答を作成していますが、問題は、WSDLで定義されているが、スキーマでは定義されていない名前空間を使用していたことです。SoapUIは応答を受け取り、それを(間違った名前空間で)表示しました。応答検証オプションをオンにした場合、この問題は回避できたはずです。

また、Webサービスをテストするために作成したJava Webサービスクライアントで、応答を出力オブジェクトにロードできなかったことにも注意してください(出力オブジェクトにアクセスしようとするとNullPointerExceptionエラーが表示されました)。これは次の理由によるものです。名前空間の問題と、名前空間を修正すると正しく機能し始めました。

4

3 に答える 3

11

SoapUIは素晴らしい製品です。ただし、これを優れた製品にしていることの1つは、定義が不十分なWebサービスに対して非常に耐性があることです。私たちの製品では多くのWebサービスを扱っており私たちの製品の問題について頻繁にコメントされるのは「SoapUIで正常に動作する」です。SoapUIがあらゆる種類の壊れたWebサービスを許容するという難しい方法を学びました。したがって、要約すると、SoapUIを使用することは、Webサービスが明確に定義されていることを証明するものではありません。

于 2013-03-03T21:46:02.600 に答える
2

Web サービスがWeb Services Interoperabilityプロファイルに準拠しているかどうかをチェックするためのWS-I テスト ツールがあります。サービスが WS-I 基本プロファイルに準拠していて、SoapUI がそれを呼び出すことができる場合、問題は間違いなく消費者側にあります。

編集:まあ、または両方の間に...

SoapUI は、WS-I 準拠について wsdl をチェックできます。 http://www.soapui.org/SOAP-and-WSDL/working-with-wsdls.htmlを参照してください。

于 2013-03-03T20:09:05.933 に答える
0

コンシューマー (クライアント) にバグがある可能性が最も高いです...クライアントが wsdl2java を使用して生成されている場合、バグが含まれている可能性が高くなります...そして、有効な (w3c に準拠する) 特別な機能を使用している場合は、ドン驚かないでください...生成されたクライアントは時々これを行います...Javaクラスを生成するために使用される一部のライブラリまたはWebサービスを生成するためのライブラリでさえ、バグでいっぱいです...

多くのことは、既知の頻繁に使用されるライブラリではサポートされていません... (名前を付けたくありませんが、wsdl4java は完全ではありません)。

セキュリティなどを使用している場合...サーバー側とクライアント側の両方にバグがある可能性が高くなります:)

何が問題なのか教えていただければ、お役に立てるかもしれません...

于 2013-03-03T21:11:08.867 に答える