czwartek, 30 kwietnia 2009

Jak zmusić JAX-WS aby zastosował document/literal/bare zamiast document/literal/wrapped

Założenia:
- Maven 2
- JAX-WS

W katalogu /src/jaxws należy utworzyć plik konfiguracyjny (nazwa nie jest szczególnie istotna, np. bindings.xml) o treści:


<jaxws:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
wsdlLocation="[URL do pliku WSDL]"
>l;

<jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='[Nazwa portu web serwisu]']">
<jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle>
</jaxws:bindings>
</jaxws:bindings>


W pom.xml nie trzeba niczego dodawać, katalog /src/jaxws skanowany jest automatycznie w poszukiwaniu plików .xml.

Rezultat - zamiast


void pewnaMetoda(int input, Holder<Integer> output);


dostajemy


int pewnaMetoda(int input);