[java] Java Webservice Client (최상의 방법)

타사 WSDL이 있습니다. 웹 서비스 클라이언트가 타사 WSDL에서 작업을 호출하도록 Java로 코드를 작성해야합니다. 지금은 Axis의 WSDL2JAVA 도구를 사용하여 클라이언트 스텁을 생성하고 데이터 바인딩에 XMLbean을 사용했습니다.

  1. 이 JAVA를 수행하는 가장 좋은 방법은 무엇입니까?
  2. 나는 SAAJ에 대해 읽었습니다. 더 세분화 된 수준의 접근 방식이 될 것 같습니까?
  3. WSDL2Java 도구를 사용하여 코드를 생성하는 것 외에 다른 방법이 있습니까? wsimport다른 옵션 일 수도 있습니다. 장단점은 무엇입니까?
  4. 누군가가 이러한 주제에 대한 좋은 자습서 링크를 보낼 수 있습니까?
  5. WSDL2Java를 사용하여 코드를 생성하는 동안 사용해야하는 옵션은 무엇입니까?

처음에는 몇 가지 기본 사항을 사용했습니다. 이제 이러한 옵션이 있습니다.

C:\axis2-1.5.1\bin>wsdl2java -uri  mywsdlurl  -o client -p somepackage -d xmlbeans -s -t -ssi



답변

이 JAVA를 수행하는 가장 좋은 방법은 무엇입니까?

개인적으로 Axis 2는 클라이언트 측 개발에만 사용 하지 않을 것 입니다. 내가 그것을 멀리하는 이유는 다음과 같습니다.

  1. 저는 그 아키텍처가 마음에 들지 않고 역 생산적인 배포 모델이 싫습니다.
  2. 나는 그것이 저품질 프로젝트라고 생각합니다.
  3. 성능이 마음에 들지 않습니다 ( JAX-WS RI에 대한이 벤치 마크 참조 ).
  4. 의존성을 설정하는 것은 항상 악몽입니다. ​​(저는 Maven을 사용하고 항상 수많은 의존성과 싸워야합니다) (# 2 참조)
  5. Axis는 큰 시간을 보냈고 Axis2는 더 좋지 않습니다. 아니요, 이것은 개인적인 의견이 아니며 합의가 있습니다.
  6. 나는 다시는 고통을 겪지 않았습니다.

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에 대한 많은 (양질의) 튜토리얼이 있습니다. 예를 들면 다음과 같습니다.

WSDL2Java를 사용하여 코드를 생성하는 동안 사용해야하는 옵션은 무엇입니까?

옵션 없음, 사용 wsimport🙂

또한보십시오

관련 질문


답변

웹 서비스 응용 프로그램의 클라이언트쪽에 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/

http://wso2.org/library/136


답변

다음 답변의 몇 가지 아이디어 :

Axis2를 사용하여 웹 서비스를 작성하는 단계-클라이언트 코드

WSDL에서 생성 된 ADB 클래스를 호출하는 Groovy 클라이언트의 예를 제공합니다.

많은 웹 서비스 프레임 워크가 있습니다.


답변