2012-04-20 1 views
0

XmlDocument를 반환하는. NET에서 빌드 된 웹 서비스가 있습니다.Java에서 웹 서비스의 결과를 읽는 방법?

나는이 같은 서블릿을 사용하여 JSP 파일에 읽고 있어요 :

CuteServlet servlet = new CuteServlet(); 
result = servlet.searchProperties(market_type, location, bedroom, price); 

searchProperties 방법을 CuteServlet에서 :

public SearchPropertiesResult searchProperties(String propertyMarketType, 
    String location, String noOfBedroom, String price) 
{ 
    wsClient.Property service = new wsClient.Property(); 
    wsClient.PropertySoap port = service.getPropertySoap(); 
    return port.searchProperties(propertyMarketType, location, noOfBedroom, price); 
} 

searchProperties의 반환 형식은() SearchPropertiesResult이다. 어떻게 읽을 수 있습니까?

+0

은 그냥 자바 독을 읽거나 탐험 그 계급의 방법? 이 클래스는 표준 API에 속하지 않으므로 아무도 자세히 대답 할 수 없습니다. – BalusC

+0

@BalusC, 답장을 보내 주셔서 감사합니다. 나는 그것을 해결했다. 나중에 다른 사람들이 같은 문제를 겪을 경우를 대비하여 나중에 답변을 업데이트하겠습니다. –

답변

0

는이 문제를 해결하기 위해, 나는 다음 다음과 같이 세부 사항을 읽어 Element으로 각 개체를 주조, result로 (C 번호에서 반환) XmlDocument을 읽고 List<Object>에 값을 넣어 :

<% 
    ... 
    wsClient.SearchPropertiesResponse.SearchPropertiesResult result 
      = servlet.searchProperties(market_type, location, bedroom, price); 
    List<Object> objects = result.getContent(); 

    Element rootElement = (Element)objects.get(0); 
    //out.println(element.getElementsByTagName("property").getLength()); 
    NodeList propertyList = rootElement.getElementsByTagName("property"); 
    out.println("<table>"); 
    int propertiesLength = propertyList.getLength(); 
    for(int i=0; i<propertiesLength; i++) 
    { 
    Element aProperty = (Element)propertyList.item(i); 
    NodeList childNodeList = aProperty.getChildNodes(); 

    Element property_idElement = (Element)childNodeList.item(0); 
    String property_id = property_idElement.getTextContent(); 

    Element street_nameElement = (Element)childNodeList.item(2); 
    String street_name = (street_nameElement.getTextContent()); 

    ... 
    String tr = "<tr><td>"; 
    int l = i+1;//"+l+" 
    tr += "<b> </b>"+door_no+" "+street_name+", "+post+"<br/>"; 
    tr += description+"<br/>"; 
    tr += "Bedroom: "+no_of_bed+"<br/>"; 
    tr += "Bathroom: "+no_of_bath+"<br/>"; 
    ... 
    tr += "Area: "+area+"<br/><br/><br/><br/>"; 
    tr += "</td></tr>"; 
    out.println(tr); 
    } 
    out.println("</table>"); 
    %> 
관련 문제