Zdravím,
kód vygenerovaný utilitou wsimport (kterou interně používá
org.codehaus.mojo:jaxws-maven-plugin) používá k načítání WSDL souboru
Class.getResource(), takže jediná možnost je dát tam cestu relativní ke
třídám a WSDL soubor přibalit do výsledné aplikace.
<configuration>
<packageName>com.example.wsdl</packageName>
<sourceDestDir>target/generated-sources/wsdl</sourceDestDir>
<destDir />
<wsdlDirectory>src/main/wsdl/xxx</wsdlDirectory>
<wsdlFiles>
<wsdlFile>yyy.wsdl</wsdlFile>
</wsdlFiles>
<wsdlLocation>xxx/yyy.wsdl</wsdlLocation>
</configuration>
<resources>
<resource>
<filtering>false</filtering>
<directory>${basedir}/src/main/resources</directory>
</resource>
<resource>
<targetPath>com.example.webservices</targetPath>
<filtering>false</filtering>
<directory>${basedir}/src/main/wsdl</directory>
</resource>
</resources>
Také je potřeba v proměnné prostředí MAVEN_OPT nastavit systémovou vlastnost
"file.encoding" na kódování zdrojáků (např. "-Dfile.encoding=UTF-8"), jinak
Maven resp. wsimport vygeneruje zdrojáky v kódování platformy.
S pozdravem
Filip Jirsák
2010/3/2 Dusan Zatkovsky <[email protected]>
> Ahoj.
>
> Zapasim s problemom, na ktory mam ne_elegantne riesenie, ale zaujimalo by
> ma
> to elegantne.
>
> Vytvorim v NB maven projekt, pridam webservice client. Zvolim "wsdl from
> url"
> a zadam http://cosi/kdesi. WSDL sa stiahne, nageneruje sa potrebny kod.
>
> Problem je, ze v tom kode je uvedene:
>
> @WebServiceClient(name = "GetAppVersionInfoService", targetNamespace \
> = "http://appversionws.firma.cz/", wsdlLocation \
> = "file:/C:/work/
> firma.cz/projekt/src/wsdl/update.firma.cz/appVersionWS/GetAppVersionInfoService.wsdl
> ")
>
> ... co je uplna blbost, pretoze som mu jasne uviedol, ze to wsdl je na url
> a
> nie na disku. Potom sa clovek dostane do probemov, ze v netbeans projekt
> chodi, ale standalone nie, pretoze nenajde wsdl.
>
> Momentalne to riesim tak, ze pouzivam konstruktor ( URL, QName ) pre danu
> sluzbu, ale je to strasne primitivne a dost ma irituje fakt, ze musim rucne
> prechadzat vygenerovany kod a hladat v nom konstrukciu QName.
>
> Nejaky napad?
>
> --
> Dusan
>