2013-06-25 10 views
5

Sto generando classi java da più file wsdl. Lavori. Tuttavia, voglio fornire il file wsdl appropriato nell'annotazione @WebServiceClient. Nell'attributo wsdlLocation mi aspetto che il percorso della directory sia concatenato con il nome del file distinto. Per esempio. /myDir/myWsdl-1.wsdl per il primo servizio web. Tuttavia, wsdlLocation viene popolata solo con "/ myDir", senza il nome del servizio. Come posso fornire quel nome per ogni wsdl?Come creare e includere classi Java e più WSDL per un jar

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

Qui di seguito è la mia istruzione:

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

Che scivola la mia attenzione?

Grazie per eventuali suggerimenti. Feder.

+0

L'aggiunta di/* al valore di wsdLocation non aiuta nè. 'Segnala che i file di binding esterni non possono essere associati a più file WSDL (/ myDir/*) Si prega di utilizzare binding in linea o più tag di esecuzione. – feder

risposta

5

Ok. Si può usare il percorso seguito da una barra e un asterisco per generare classi per i file WSDL mutlitple. Per esempio.

<wsdlLocation>/myDir/*</wsdlLocation> 

Tuttavia, in questo caso, non è possibile applicare un'associazione.

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

Se è necessario applicare un vincolante per ciascuna delle WSDL, è necessario ripetere il blocco di esecuzione del plugin o applicare un WSDL-inline-binding. Vedi questo discussion for inline-binding.

Spero che questo aiuti anche gli altri.

0

Penso che manchi l'elemento <wsdlFiles> che racchiude gli elementi <wsdlFile>. Dovrebbe essere il seguente:

<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

Esempio come usare' 'può essere trovato qui: https://jax-ws-commons.java.net/jaxws-maven-plugin/wsimport-mojo.html#wsdlLocation – TrueCurry

Problemi correlati