0

我在我的代码中使用 java soap 请求和响应。我得到了正确的请求和响应。但我无法迭代响应请在下面查看我的响应和用于迭代的代码。请帮我解决这个问题。

回复

<?xml version="1.0" encoding="utf-16"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <GetUserResponse xmlns="http://XXXX.com/XXXXXXXX.XXXXXXX.WS">
      <GetUserResult>
        user
          <PersonID>111113</PersonID>
          <Username>0987654321</Username>
          <Password />         
          <FwyMember>Y</FwyMember>
          <WebMember>Y</WebMember>
          <FirstName>Mohamed</FirstName>
          <Tier>firstclass</Tier>
          <CountryOfResidence>IN</CountryOfResidence>
          <PreferencesChanged>false</PreferencesChanged>       
          <FamilyRelationship />
          <Title>Mr</Title>
          <MiddleName />
          ........ continue like this

Java 代码

SOAPBody responseBody = response.getSOAPBody();
QName bodyName1 = new QName("http://XXXX.com/XXXXXXXX.XXXXXXX.WS","GetUserResponse");
java.util.Iterator iterator = responseBody.getChildElements(bodyName1);
while (iterator.hasNext()) {
  SOAPBodyElement responseElement = (SOAPBodyElement)iterator.next();
  String val = responseElement.getValue();
  System.out.println("The values are "+val);
}
4

1 回答 1

2

下面只有一个GetUserResponse元素BodygetChildElements只获取子元素,而不是后代元素。您必须首先到达GetUserResponse然后迭代它的孩子。

于 2013-01-20T15:00:11.463 回答