我有一个定义名称空间的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>
有没有什么方法可以通过编辑WSDL来生成这个预期的XML?我知道我可以注释package-info.java,但如果可能的话,我需要通过WSDL来完成。