2013-01-20 39 views
0

我在我的代碼中使用java soap請求和響應。我正確地收到請求和響應。 但我無法迭代迴應 請參閱我的回覆和用於在下面進行迭代的代碼。請幫我解決這個問題。java中的soap響應iterat

響應

<?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); 
} 
+0

你是什麼意思「我無法迭代響應」。你有什麼錯誤嗎?你看到任何意外的行爲?它是什麼? – Swapnil

+0

我沒有收到任何錯誤,也沒有輸出在屏幕上打印。 – user1793215

回答

1

只有一個GetUserResponse下面Body元件。 getChildElements只獲取子元素,而不是後代元素。您必須首先達到GetUserResponse,然後通過其子子級重複。

+0

感謝您的更新我已經完成了使用childnodes的迭代。 – user1793215