我正在尝试从SOAPMessage中提取正文并得到一些奇怪的结果。下面的示例代码应该有助于说明我的问题:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
message.writeTo(baos);
String messageString = baos.toString();
System.out.println("SOAP Message: " + messageString);
System.out.println("Body: " + message.getSOAPBody());
输出:
SOAP Message: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://adc.appcomsci.com/schema">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<sch:computeConfigurationResponse>
<sch:file>
<sch:url>http://goodSolution.com</sch:url>
<sch:configurationFileType>Solution</sch:configurationFileType>
</sch:file>
<sch:file>
<sch:url>http://error.com</sch:url>
<sch:configurationFileType>Diagnosis</sch:configurationFileType>
</sch:file>
</sch:computeConfigurationResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Body: [SOAP-ENV:Body: null]
任何想法为什么身体在这里是空的?这不是提取身体进行处理的正确方法吗?如果没有,我该怎么办?
谢谢!
答案 0 :(得分:0)
没关系,我想通了。
打印出来的实体并不会实际呈现身体中存在的xml,只是实际的body标签,在这种情况下没有属性或文本,因此为null。