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, если это возможно.

0 ответов

Другие вопросы по тегам