타사 WSDL이 있습니다. 웹 서비스 클라이언트가 타사 WSDL에서 작업을 호출하도록 Java로 코드를 작성해야합니다. 지금은 Axis의 WSDL2JAVA 도구를 사용하여 클라이언트 스텁을 생성하고 데이터 바인딩에 XMLbean을 사용했습니다.
- 이 JAVA를 수행하는 가장 좋은 방법은 무엇입니까?
- 나는 SAAJ에 대해 읽었습니다. 더 세분화 된 수준의 접근 방식이 될 것 같습니까?
- WSDL2Java 도구를 사용하여 코드를 생성하는 것 외에 다른 방법이 있습니까?
wsimport
다른 옵션 일 수도 있습니다. 장단점은 무엇입니까? - 누군가가 이러한 주제에 대한 좋은 자습서 링크를 보낼 수 있습니까?
- WSDL2Java를 사용하여 코드를 생성하는 동안 사용해야하는 옵션은 무엇입니까?
처음에는 몇 가지 기본 사항을 사용했습니다. 이제 이러한 옵션이 있습니다.
C:\axis2-1.5.1\bin>wsdl2java -uri mywsdlurl -o client -p somepackage -d xmlbeans -s -t -ssi
답변
이 JAVA를 수행하는 가장 좋은 방법은 무엇입니까?
개인적으로 Axis 2는 클라이언트 측 개발에만 사용 하지 않을 것 입니다. 내가 그것을 멀리하는 이유는 다음과 같습니다.
- 저는 그 아키텍처가 마음에 들지 않고 역 생산적인 배포 모델이 싫습니다.
- 나는 그것이 저품질 프로젝트라고 생각합니다.
- 성능이 마음에 들지 않습니다 ( JAX-WS RI에 대한이 벤치 마크 참조 ).
- 의존성을 설정하는 것은 항상 악몽입니다. (저는 Maven을 사용하고 항상 수많은 의존성과 싸워야합니다) (# 2 참조)
- Axis는 큰 시간을 보냈고 Axis2는 더 좋지 않습니다. 아니요, 이것은 개인적인 의견이 아니며 합의가 있습니다.
- 나는 다시는 고통을 겪지 않았습니다.
Axis가 여전히 주변에있는 유일한 이유는 오랫동안 Eclipse에서 사용되기 때문에 IMO입니다. 감사합니다. 이것은 Eclipse Helios에서 수정되었으며 Axis2가 마침내 죽기를 바랍니다. 훨씬 더 나은 스택이 있습니다.
나는 SAAJ에 대해 읽었습니다. 더 세분화 된 수준의 접근 방식이 될 것 같습니까?
무엇을하기 위해?
WSDL2Java 도구를 사용하여 코드를 생성하는 것 외에 다른 방법이 있습니까? 다른 옵션에서 wsimport를 사용할 수도 있습니다. 장단점은 무엇입니까?
예! CXF 또는 JAX-WS RI 와 같은 JAX-WS 스택을 선호합니다 (Metro, Metro = JAX-WS RI + WSIT 에 대해 읽을 수도 있음 ). 더 우아하고 간단하며 사용하기 쉽습니다. 귀하의 경우 Java 6에 포함 된 JAX-WS RI를 사용하므로 wsimport
.
누군가가 이러한 주제에 대한 좋은 자습서 링크를 보낼 수 있습니까?
그것은 또 다른 프로입니다. JAX-WS에 대한 많은 (양질의) 튜토리얼이 있습니다. 예를 들면 다음과 같습니다.
- JAX-WS 웹 서비스 클라이언트 개발 (여기에서 시작)
- Java SE 6 플랫폼과 함께 JAX-WS 2.0 소개, 1 부
- JAX-WS를 사용하여 간단한 웹 서비스 및 클라이언트 생성
- Apache CXF 또는 GlassFish Metro를 사용하여 SOAP 클라이언트 만들기 (Glen Mazza의 블로그는 훌륭한 리소스입니다)
WSDL2Java를 사용하여 코드를 생성하는 동안 사용해야하는 옵션은 무엇입니까?
옵션 없음, 사용 wsimport
🙂
또한보십시오
- 자바 WebServiceLand에서의 Elad의 모험
- Axis2 : 왜 귀찮게? BileBlog (담즙에 대비)-리디렉션을 중지해야합니다.
관련 질문
답변
웹 서비스 응용 프로그램의 클라이언트쪽에 Spring WS를 사용하여 성공을 거두었습니다. http://static.springsource.org/spring-ws/sites/1.5/reference/html/client.html 참조
내 프로젝트는 다음 조합을 사용합니다.
-
XMLBeans (xmlbeans-maven-plugin을 사용하여 간단한 Maven 작업에서 생성됨)
-
Spring WS-marshalSendAndReceive ()를 사용하면 송수신 코드를 한 줄로 줄입니다
-
일부 Dozer-복잡한 XMLBean을 클라이언트 GUI 용 단순 Bean으로 맵핑
답변
여기에서 Apache axis2를 사용한 웹 서비스 클라이언트 개발과 관련된 몇 가지 리소스를 찾을 수 있습니다.
http://today.java.net/pub/a/today/2006/12/13/invoking-web-services-using-apache-axis2.html
아래 게시물은 Apache axis2를 사용한 웹 서비스 개발에 대한 좋은 설명을 제공합니다.
http://www.ibm.com/developerworks/opensource/library/ws-webaxis1/
답변
다음 답변의 몇 가지 아이디어 :
Axis2를 사용하여 웹 서비스를 작성하는 단계-클라이언트 코드
WSDL에서 생성 된 ADB 클래스를 호출하는 Groovy 클라이언트의 예를 제공합니다.
많은 웹 서비스 프레임 워크가 있습니다.