2010-12-15 5 views
1

웹 서비스에 요청을 보내고 응답을 읽고 싶습니다. 지금까지 JAXB를 사용하여 XSD에서 Java 클래스를 생성했습니다.이 클래스는 응답을 읽는 데 사용할 것이라고 가정합니다.초급 웹 서비스 질문

요청을 구현하는 가장 좋은 방법은 무엇입니까? 내가 사용하고있는 웹 서비스는 서블릿이며 POST가 필요합니다. HttpURLConnection을 사용하여 SOAP 요청 인 문자열을 보내는 유일한 방법입니까?

+1

어떤 종류의 웹 서비스입니까? 그것은 REST 서비스인가 SOAP인가? SOAP 서비스 일 수 있다는 힌트를주었습니다. 그렇다면 Axis 2와 같은 WSDL에서 클라이언트를 생성 할 수 있습니다. – gregor

+0

메트로 (http://metro.java.net)를 체크 아웃 할 수도 있습니다. /) 프로젝트. –

+0

예, SOAP 요청입니다. WSDL이 없으므로 HttpURLConnection을 사용하는 유일한 방법은 무엇입니까? – bmw0128

답변

0

두 명의 JVM 사이에서 원격 작업을 수행하려고하기 때문에 상대방을 제어하고 있다고 말하면 실제로 다른 원격 솔루션을 사용하십시오. 필요에 따라 protobuf, hessian 또는 Terracotta와 같은 것을 사용할 수 있습니다. 이 프레임 워크는 사용하기가 훨씬 쉽고 훨씬 효율적입니다.

1

Apache CXF을 방문하는 것이 좋습니다. JAX-B 만 아니라 JAX-WS + JAX-B 서비스가 당신에게 필요한 모든 것을 처리 할 것입니다. 특히 WSDL이 없을 때 JAX-WS 공급자를 사용하여 비누 끝점을 만들 수 있습니다.

+0

CXF를 사용하지 말 것을 권장합니다.이 도구는 Java에서 인터페이스를 생성하고 생성 된 WSDL 및 XSD를 기반으로하기 때문에 좋습니다. 큰 문제는 웹 서비스를 사용할 때 WSDL과 XSD가 계약이고 생성 된 계약이 쉽게 변경 될 수 있으므로 서비스를 사용해야하는 당사자는 코드를 자주 변경해야한다는 것입니다. 실제로이 문제가 여러 번 발생했습니다. – Gerbrand

+1

CXF는 코드 우선 및 계약 우선 서비스를 수행하는 것만 큼 행복합니다. 두 가지 모두에 대한 지원을 포함하기 위해 프레임 워크를 비난하는 것은 이상한 접근 방법입니다. – bmargulies