从Java中的SOAP消息获取值
在调用web服务之后,我得到了一条作为字符串的SOAP消息。从Java中的SOAP消息获取值,java,parsing,soap,Java,Parsing,Soap,在调用web服务之后,我得到了一条作为字符串的SOAP消息。 假设您使用的是JDOM: soap:Body实际上是两部分:名称空间和元素名。您将希望在检索该名称空间类时使用该名称空间类来包含该信息 试着做一些类似的事情: envelopeNode.getChild("Body",envelopeNode.getNamespace()); 这将使它查找名为“Body”的子元素,以及与信封节点相同的名称空间。谢谢Peter,它成功了。只有一件奇怪的事。当我为“PassOracleXMLDataR
假设您使用的是JDOM: soap:Body实际上是两部分:名称空间和元素名。您将希望在检索该名称空间类时使用该名称空间类来包含该信息 试着做一些类似的事情:
envelopeNode.getChild("Body",envelopeNode.getNamespace());
这将使它查找名为“Body”的子元素,以及与信封节点相同的名称空间。谢谢Peter,它成功了。只有一件奇怪的事。当我为“PassOracleXMLDataResult”获取子元素时,它还需要提供一个名称空间作为第二个参数
Namespace nmspc = Namespace.getNamespace("http://tempuri.org/");
Element parseResponse = bodyEm.getChild("PassOracleXMLDataResponse", nmspc);
Element passResult = parseResponse.getChild("PassOracleXMLDataResult", nmspc);
谢谢你,彼得,成功了。只有一件奇怪的事。当我为“PassOracleXMLDataResult”获取子元素时,它还需要提供一个命名空间作为第二个参数。/n Namespace nmspc=Namespace.getNamespace(“);Element parseResponse=bodyEm.getChild(“PassOracleXMLDataResponse”,nmspc);Element passResult=parseResponse.getChild(“PassOracleXMLDataResult”,nmspc);对;我的示例只使用父元素的名称空间(在本例中为“”)。由于PassOracleXMLDataResponse位于不同的namspace(“),您需要将该名称空间传递给getChild()我想这是因为它需要包含名称空间的完整节点标识。
envelopeNode.getChild("Body",envelopeNode.getNamespace());
Namespace nmspc = Namespace.getNamespace("http://tempuri.org/");
Element parseResponse = bodyEm.getChild("PassOracleXMLDataResponse", nmspc);
Element passResult = parseResponse.getChild("PassOracleXMLDataResult", nmspc);