Как настроить asp.net/asmx, чтобы вообще не использовать кодировку мыла при создании wsdls из интерфейса .NET? Короче говоря, веб-служба .NET SOAP создает wsdl, который включает кодирование мыла. Например:
<s:schema targetNamespace="http://tempuri.org/AbstractTypes">
<s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<s:complexType name="StringArray">
<s:complexContent mixed="false">
<s:restriction base="soapenc:Array">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string" />
</s:sequence>
</s:restriction>
</s:complexContent>
</s:complexType>
</s:schema>
Это не удается проанализировать с помощью wsdl2java в CXF, реализации JAX-WS из-за бита soapenc:Array. Исправление состоит в том, чтобы изменить приведенный выше xml на:
<s:schema targetNamespace="http://tempuri.org/AbstractTypes">
<s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<s:complexType name="StringArray">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string" />
</s:sequence>
</s:complexType>
</s:schema>