在Java中从文件中解组SOAP信封

在Java中从文件中解组SOAP信封,java,soap,xml-deserialization,unmarshalling,Java,Soap,Xml Deserialization,Unmarshalling,我想对映射器对象进行单元测试,这些映射器对象将wsimport生成的web服务类型映射/转换到我自己的域对象中。我还想测试错误场景,比如SOAP错误等等,我认为最好在真实的SOAP响应上测试映射器对象。我不想触发对web服务本身的请求,因为这需要访问web服务,并且会为每个测试带来往返时间 在这种情况下,我试图从包含SOAP信封的特定XML文件中解组SOAP消息。我想将SOAP信封解组,然后将正文中的有效负载转换为相应的Java类型 我已经通过使用JAXB解组成功地解组了有效负载本身,但是我还没

我想对映射器对象进行单元测试,这些映射器对象将wsimport生成的web服务类型映射/转换到我自己的域对象中。我还想测试错误场景,比如SOAP错误等等,我认为最好在真实的SOAP响应上测试映射器对象。我不想触发对web服务本身的请求,因为这需要访问web服务,并且会为每个测试带来往返时间

在这种情况下,我试图从包含SOAP信封的特定XML文件中解组SOAP消息。我想将SOAP信封解组,然后将正文中的有效负载转换为相应的Java类型

我已经通过使用JAXB解组成功地解组了有效负载本身,但是我还没有找到一种方法来允许我处理具有类似SOAP错误的SOAP响应


有没有一种方法可以让我用一个SOAP信封XML文件轻松地测试我的映射程序?

您是否尝试过标准的JavaSOAPAPI(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));