Веб-сервис ASMX, внешние WSDL * без * wsdl.exe - PullRequest
0 голосов
/ 27 апреля 2010

Я работаю над устаревшим кодом, и мне нужен asmx для реализации определенного wsdl, который мне предоставляется.

Я бы хотел получить корневой элемент сообщения в виде XmlDocument или XmlNode, а не сгенерированного графом объектов wsdl.exe. Это вообще возможно?

1 Ответ

0 голосов
/ 28 апреля 2010

Прежде всего, вы должны использовать svcutil.exe, а не wsdl.exe, если у вас нет другого выбора.

Во-вторых, вам не нужна ни одна из программ для реализации внешнего WSDL. Просто напишите свой сервис, чтобы XML Serializer правильно сериализовал и десериализовал входящее сообщение. В частности, если вам нравится обрабатывать XML, попробуйте это:

[WebMethod]
public XmlElement SomeOperation(XmlElement parameter)
{
}

Я считаю, что то же самое работает с более новым XElement классом.

В WCF (это то, что вы должны использовать, поскольку Microsoft теперь считает веб-службы ASMX «устаревшей технологией»), я считаю, что вы должны использовать тип Message:

[OperationContract]
Message SomeOperation(Message parameter);
...