2011-04-05 2 views
3

현재 JAX-WS를 읽고 있습니다.wsgen을 언제 사용합니까?

Eclipse를 사용하여 손으로 JAX-WS RI 서비스를 성공적으로 빌드했습니다. 두 가지 접근법 모두 apt를 사용합니다. 이클립스를 통해 애플리케이션 서버에 애플리케이션을 배치하거나 사용중인 컨테이너에 따라 sun-jaxws.xml이 있거나없는 war를 생성하고이를 수동으로 배치하면 JAX-WS 런타임은 적절한 WSDL을 생성한다. 자동으로

언제 wsgen을 사용하면 유용할까요?

+0

'apt'란 무엇입니까? – bmargulies

+0

@bmargulies - apt는 '주석 처리 도구'입니다. 요청 및 응답 SOAP 메시지를 마샬링/비 정렬 화하는 서버 측 스텁을 생성합니다. 설명을 주신 덕분에 – wulfgarpro

답변

4

wsgen은 응답 및 요청 래퍼 클래스를 생성하며, 알다시피 WSDL을 생성 할 수 있습니다. CXF와 같은 일부 컨테이너는 이러한 래퍼 클래스를 전혀 요구하지 않습니다. 즉, 즉시 생성합니다. 또는 당신은 당신 자신을 위해 그들을 만들었을 것입니다.

This link.

JAX-WS RI는 적절한 기능을 제공하며 APT를 실행하여 일부 코드를 생성 할 것을 권장합니다.

실제로 나는 http://jax-ws.java.net/nonav/2.1.1/docs/jaxws-tools.html#mozTocId344067이 원래 질문에 대한 황금 표준 답변 일 수 있다고 생각합니다.

약간 확장 : JAX-WS (표준) 및 JAX-WS (참조 구현)는 두 가지 다른 점이 있습니다. RI와 Java 1.6, Metro, CXF 등을 사용하고 있다면 다른 도구와 요구 사항을 접하게 될 것입니다. 예를 들어, CXF에서 자바 우선 서비스의 경우 도구를 전혀 실행할 필요가 없습니다.

명령 줄에서 wsdl을 생성하면 다른 사람에게 보내야하고 서비스를 실행하고? wsdl API를 사용하고 싶지 않은 경우 유용 할 수 있습니다.

표준에서는 도구를 사용할 필요가 없지만 표준은 도구를 사용하는 표준 준수 구현을 허용합니다. 아휴!

+0

. 이러한 도구 중 일부는 기능적으로 중복되는 것으로 보입니다. 어쩌면 다른 웹 서비스 스택이 같은 이유로 여러 도구를 배포 할 수 있습니다. wsgen은 요청/응답 클래스를 생성하기위한 권장 도구입니다. 왜 WSDL을 휴대용 아티팩트로 생성하려고합니까? – wulfgarpro