Visual Studio возвращает результат и тип wsdl не совпадает - PullRequest
0 голосов
/ 27 декабря 2018

Привет, я импортирую wsdl в проект myvisual studio, но тип входящего сообщения и тип результата не совпадают. И результат не может быть десериализован.

Но когда я пробую этот wsdl с помощью SoapUI, наС другой стороны, я использую Visual Studio, что проблема времени соответствует типу

Есть ли какие-либо предложения по этой теме

1 Ответ

0 голосов
/ 27 декабря 2018

У меня раньше была похожая проблема, это было связано с тем, как svcutil.exe генерировал DataContracts для операций.

В моем клиентском интерфейсе (reference.vb или .cs, если C #,если вы не используете svcutil через командную строку для генерации прокси-класса), я должен был установить действие ответа от:

<System.ServiceModel.OperationContractAttribute(Action:="", ReplyAction:="*")

на фактическое действие или, по крайней мере, то, что я думал, http://tempuri.org/MyInterfaceName/MyMethodName

<System.ServiceModel.OperationContractAttribute(Action:="", ReplyAction:="http://tempuri.org/MyInterfaceName/MyMethodName")

Затем мне пришлось удалить XmlTypeAttribute из класса ответа, объект был отправлен обратно клиенту:

System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true, [Namespace]:="https://example.com?wsdl")>

, а также удалить атрибуты XmlElementAttributes из свойств в классе ответа:

<System.Xml.Serialization.XmlElementAttribute(Order:=0)>  

Не уверен, применимо ли это к вашему сценарию, но я совершенно уверен, что ваша проблема как-то связана с тем, как контракты данных форматируются VS.

...