2013-06-25 2 views
5

여러 wsdl 파일에서 Java 클래스를 생성하고 있습니다. 공장. 그러나 @WebServiceClient 주석에 적절한 wsdl 파일을 제공하려고합니다. wsdlLocation 속성에서 디렉토리 경로가 별개의 파일 이름과 연결될 것으로 예상합니다. 예 : 첫 번째 웹 서비스에 대한 /myDir/myWsdl-1.wsdl. 그러나 wsdlLocation은 서비스 이름없이 "/ myDir"로만 채워집니다. 각 wsdl에 해당 이름을 어떻게 제공합니까? 내 관심을 미끄러 무엇jar에 대한 Java 클래스 및 여러 WSDL을 만들고 포함하는 방법

<wsdlLocation>/myDir</wsdlLocation> 
<wsdlDirectory>src/main/resources/myDir</wsdlDirectory> 
<wsdlFiles> 
    <wsdlFile>myWsdl-1.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-2.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-3.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-4.wsdl</wsdlFile> 
</wsdlFiles> 

: 아래

@WebServiceClient(name = "myService", targetNamespace = "http://mycompany.com/services/", wsdlLocation = "/myDir") 

내 명령입니까?

힌트를 보내 주셔서 감사합니다. 연방.

+0

wsdLocation 값에/*를 추가해도 도움이되지 않습니다. '외부 바인딩 파일이 더 많은 WSDL 파일 (/ myDir/*)에 바인딩 될 수 없다고보고합니다. 인라인 바인딩 또는 다중 실행 태그를 사용하십시오. ' – feder

답변

5

확인. mutlitple WSDL 파일에 대한 클래스를 생성하기 위해 경로 뒤에 슬래시와 별표를 사용할 수 있습니다. 예 :

<wsdlLocation>/myDir/*</wsdlLocation> 

그러나이 경우 바인딩을 적용 할 수 없습니다. 당신이 상기 WSDL에 각각 바인딩을 적용해야하는 경우

<bindingDirectory>src/main/binding</bindingDirectory> 

, 당신은 플러그인의 실행 블록을 반복하거나 WSDL 인라인 결합을 적용해야합니다. 이 discussion for inline-binding을 참조하십시오.

다른 사람들에게도 도움이되기를 바랍니다.

0

<wsdlFile> 요소가 포함 된 <wsdlFiles> 요소가없는 것 같습니다. 다음과 같아야합니다.

<wsdlDirectory>src/main/resources/myDir</wsdlDirectory> 
<wsdlFiles> 
    <wsdlFile>myWsdl-1.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-2.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-3.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-4.wsdl</wsdlFile> 
</wsdlFiles> 
+0

''사용 방법 예를 찾을 수 있습니다. 여기 : https://jax-ws-commons.java.net/jaxws-maven-plugin/wsimport-mojo.html#wsdl 위치 – TrueCurry