HTTPS에서 웹 서비스를 호출하고 Parse가 Java에서 XML 데이터에 응답했습니다.
-
19-09-2019 - |
문제
HTTPS URL과 연결하고 요청 스키마를 보내면 웹 서비스에서 XML 응답을 얻을 수 있습니다.
HTTPS URL 연결의 경우 다음을 사용 중입니다.
URL myurl = new URL(httpsURL);
HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
con.setRequestProperty("Content-type","text/xml");
따라서 위 코드에서 서버에서 XML에 응답하고 있습니다. 이제 내 질문은 XML 데이터를 간단한 Java 객체에 응답하기위한 가장 좋은 구문 분석기입니다.
나는 그것에 대해 많은 솔루션을 얻었고 다양한 솔루션을 얻었지만 적절한 것을 선택할 때 혼란 스럽습니다.
샘플 예제를 제안한 사람이 있으면 ..
미리 감사드립니다 ...
편집하다 : 위의 HTTPS 응답은 비누가 아닙니다
다른 팁
이것이 SOAP 서비스 인 경우 Spring-WS 또는 JAX-WS와 같은 SOAP 클라이언트 API를 사용해야합니다.
우리는이를 위해 메트로 라이브러리를 사용합니다.이를 위해 Java 1.5가 필요하며 Java 6에 포함되어 있습니다.
그런 다음 결과를 위해 DOM 트리를 얻은 다음 쉽게 후 처리 될 수 있습니다.
우리는 Metro를 사용하여 WSDL을 Java 소스로 변환하기 위해 Intellij 아이디어를 사용했습니다.
나는 Castor를 보는 것이 좋습니다.http://www.castor.org/xml-mapping.html) - XML을 Pojos에 매핑하는 매우 간단한 방법입니다. XML 스키마 (경우 WSDL 파일)를 기반으로 Java 클래스를 생성합니다.
구문 분석을 마치면 응답은 다음과 같이 간단합니다.
StringReader sr = new StringReader(inMessageString);
YourSoapResponse response = (YourSoapResponse)Unmarshaller.unmarshal(YourSoapResponse.class, sr);
캐스터는 비교적 빠르지 만 (예열되면) XML 응답이 "거대한"경우 재고하고 Stax를 사용해야 할 수도 있습니다 (http://stax.codehaus.org/home) 예를 들어.