Я пытаюсь использовать Java Webservice, используя Visual Basic.net. Я получаю сообщение об ошибке при десериализации "Невозможно назначить объект типа System.Xml.XmlNode [] объекту типа System.String".
Что я читал, так это то, что спецификация wsdl может не соответствовать спецификации WS-I BP 1.1. Ссылка здесь
Другое решение, о котором говорилось здесь , заключается в изменении xml ответа для соответствия типу данных .net. Я пытался сделать это по другим причинам пару лет назад, и это оказалось нестабильным.
Вот фрагмент кода WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://ws.interfaces.sessions.APILink.amdocs"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://ws.interfaces.sessions.APILink.amdocs"
xmlns:intf="http://ws.interfaces.sessions.APILink.amdocs"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns2="http://io.datainfo.APILink.amdocs"
xmlns:tns3="http://datainfo.APILink.amdocs"
xmlns:tns4="http://awsi.amdocs.com"
xmlns:tns5="http://exceptions.APILink.amdocs"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<complexType name="InPersonInfo">
<complexContent>
<extension base="tns2:BaseInputOutputInfo">
<sequence>
<element maxOccurs="1" minOccurs="0" name="mItem1" type="xsd:int"/>
<element maxOccurs="1" minOccurs="0" name="mID" nillable="true" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="mPersonType" type="tns4:char"/>
</sequence>
</extension>
</complexContent>
</complexType>
Другие части из WSDL, которые я вижу, это просто разделы сообщений и операций.
РЕДАКТИРОВАТЬ 2011-04-21: Этот вопрос упоминает, что я переживаю.
Я не знаком с java, и я знаю, что он создается / используется с помощью AXIS или SOAPUI, и почему-то он не создает WSDL в соответствии со стандартом, и есть моя проблема. Если я найду ответ для его решения, я опубликую его здесь.