JAX-WS и префикс пространства имен XML
У меня есть WSDL, который определяет пространство имен, как:
<wsdl:definitions
...
xmlns:mytype="urn:/some/types"
...
>
а затем нацеливается на это пространство имен как:
<xs:schema elementFormDefault="qualified" targetNamespace="urn:/some/types"
>
<xs:element name="MyFunction">
<xs:complexType>
<xs:sequence>
<xs:element name="element" minOccurs="1" maxOccurs="1"
type="xs:NMTOKEN"
/>
<xs:element name="name" minOccurs="1" maxOccurs="1" type="xs:NMTOKEN" />
</xs:sequence>
</xs:complexType>
</xs:element>
Затем JAXWS генерирует следующий XML с автоматически генерируемыми префиксами:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:MyFunction xmlns:ns2="urn:/some/types" ... >
<ns2:element>form</ns2:element>
<ns2:name>simple</ns2:name>
</ns2:MyFunction></S:Body>
</S:Envelope>
Я работаю с сервером, которому нужен XML, чтобы использовать точный префикс, который содержался в wsdl, например:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><mytype:MyFunction xmlns:mytype="urn:/some/types" ... >
<mytype:element>form</mytype:element>
<mytype:name>simple</mytype:name>
</mytype:MyFunction></S:Body>
</S:Envelope>
Есть ли способ, как я могу сгенерировать этот ожидаемый XML, просто отредактировав WSDL? Я знаю, что могу комментировать package-info.java, но мне нужно, чтобы это было сделано через WSDL, если это возможно.