Java Webservice Client (최상의 방법)


82

타사 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

답변:


163

이 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:)

또한보십시오

관련 질문


4
놀라운 일, 감사합니다. WSIT를 이에 대한 설명에 대한 링크로
만드시겠습니까

@dma_k 완료, WSIT 프로젝트에 대한 링크를 추가했습니다 (게시 한 것도 좋은 프로젝트이므로 독자가 둘 다 가지고 있음).
Pascal Thivent

1
오래 전에 모든 링크를 팔로우하지 않고 +1을주었습니다. 살아있는 사람, 그 bileblog가 코에 부딪친 다! :) 다시 한번 감사드립니다.
javamonkey79

1
JAX-WS의 경우 +1. Axis2로 많은 날을 잃었습니다 ... 총 MESS (많은 종속성은 말할 것도없고)
marcolopes dec

1
Pascal, Glen Mazza의 연결이 끊어졌습니다.
Adeel 안사리

8

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



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.