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以下の要素は1つだけBodyです。getChildElements子孫要素ではなく、子要素のみを取得します。最初に到達してから、そのGetUserResponseを反復処理する必要があります。

于 2013-01-20T15:00:11.463 に答える