4

wsimport によって生成された Web サービス タイプを独自のドメイン オブジェクトにマッピング/変換するマッパー オブジェクトを単体テストしたいと考えています。また、SOAP 障害などのエラー シナリオもテストしたいと考えており、本物の SOAP 応答でマッパー オブジェクトをテストするのが最善だと考えています。これには Web サービスへのアクセスが必要であり、各テストの往復時間がかかるため、Web サービス自体に要求を発行したくありません。

このシナリオでは、SOAP エンベロープを含む特定の XML ファイルから SOAP メッセージを非整列化しようとしています。SOAP エンベロープをアンマーシャリングし、ボディ内のペイロードを対応する Java タイプに変換したいと考えています。

JAXB アンマーシャリングを使用してペイロード自体をアンマーシャリングすることはできましたが、SOAP 障害のある SOAP 応答を同様に処理できるようにする方法が見つかりませんでした。

SOAP Envelope XML ファイルを使用してマッパーを簡単にテストできる方法はありますか?

4

1 に答える 1

3

標準の Java SOAP API (javax.xml.soap) を試しましたか?

このようなもの:

  MessageFactory mf = MessageFactory.newInstance();
  SOAPMessage message = mf.createMessage();
  SOAPPart soapPart = message.getSOAPPart();
  FileInputStream is = new FileInputStream(file);
  soapPart.setContent(new StreamSource(is));
于 2012-05-09T16:36:44.487 に答える