웹 서비스 클라이언트를 만드는 방법을 이해하는 데 문제가 있습니다. 이야기는 웹 서비스를 호출해야한다는 것입니다. 그러면 웹 서비스의 올바른 클래스를 얻기 위해 어떻게 든 웹 서비스를 사용해야합니다.WSDL 사용 - 어떤 도구를 사용합니까?
나는 이것을 수행하는 많은 방법을 조사했습니다. 예를 들어 나는 스크립트를 사용하여이를 소비 한 다음 클래스를 가져 오려고했습니다.
그러나 이미 Maven-2를 사용하고 있으므로 Maven-plugin wsdl2code를 사용해 보도록 권장했습니다. 이 작업을 수행하지만 그것을 볼 수 많은 정크 파일을 만듭니다. 내 pom.xml 파일에 다음을 추가했습니다 :
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<packageName>ws.client.test</packageName>
<wsdlFile>http://localhost:8088/test?WSDL</wsdlFile>
<databindingName>xmlbeans</databindingName>
<outputDirectory>target/ws/test</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
이 성공적으로 파일을 생성하지만 말했듯이, 또한 정크 파일이 많이있다 ( xmlsoap/스키마/비누/인코딩/...) 또는 내가 본 다른 WSDLconsume보다 더 쓸모없는 파일 (적어도 내가 본 것)은 많다.
질문
는 웹 서비스를 소비하는 방법을 일반적인 지침이 있습니까? WSDL에 파일이 외부에 있기 때문에 그것은 또한 변화 될 수 있고, 그 때문에 나는 그것이합니다 ( WSDL이 갑자기 변경 한 경우 이 ... 다른 부작용이있을 것이지만)이 메이븐 자동으로 일을 가진 좋은 수 생각했다. wsdl2code가 좋은 선택 인 경우
, 모든 파일은 항상 목표 CATALOUGE 만들어야합니다 그래서 그들은 제거되고
)는 MVN 깨끗한 실행할 때?다른 도구가 더 적합할까요?
업데이트 내가 원하는 생성 된 파일을 얻을 예를 JAX-WS의 wsimport의에 대한 사용하여/편집
. 그러나이 파일을/target-folder에 만들어서 같은 프로젝트에서 실제로 웹 서비스를 호출하기를 원합니다. 이것이 가능한가?
고마워요! wsimport가 나를 위해 일하는 것 같습니다. 이것이 나에게 또 다른 의문을 제기했지만. 아이디어가있는 경우 내 소식을 업데이트했습니다. – user373455
같은 프로젝트 나 의존 프로젝트에서 문제없이 호출 할 수 있습니다. m2eclipse를 사용하는 경우 추가 프로젝트 구성 프로젝트가 필요하거나 소스 조회 경로에 target/generated-sources/wsimport를 직접 입력해야합니다.어쨌든 maven 자체는 문제없이 프로젝트를 빌드해야합니다. – mglauche