我有一个 XML 文档作为字符串,它是一个没有 SOAP 信封的 SOAP 请求。我现在需要执行以下操作:
- 将请求发布到包装在 SOAP 信封中的 Web 服务
- 返回未包装的 SOAP 信封的响应
实际的 HTTP 连接内容很好,但我真的在包装和展开方面苦苦挣扎。我试图弄清楚如何在 Java 中进行这种 XML 操作,但无法真正弄清楚。以javax.xml
包装为例,但发现大多数情况下它只是一团糟。不幸的是,我仅限于 Java 1.5 并且没有外部库,否则我可能会使用一些 apache commons 之类的东西。
基本上我正在寻找的是一对这样的方法:
/* Wraps the xml in a standard soap envelope */
String wrap(String xml)
/* Removes soap envelope from the xml */
String unwrap(String xml)
我想的wrap
方法可能很简单soapStart + xml + soapEnd
,尽管如果不小心,xml 标头可能会搞砸。但是解包对我来说太棘手了,因为您需要实际提取其中的内容<soapenv:Body>
并确保您获得所需的命名空间声明等。
我已经在这里坐了几个小时了,但我仍然不知道......希望你们中的一些人这样做:)