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 回答