Прежде всего, я полный нуб в области WCF / WSDL, поэтому, пожалуйста, будьте терпеливы со мной
Хорошо, у меня есть WSDL, XSD для сложных типов сообщений, я создал тестовый клиент в консольном приложении C #. Я добавил веб-ссылку на полученный в WSDL код, сгенерированный в reference.cs.
Я назвал методы, доступные в reference.cs, отлично работает отлично. Я добавил расширение трассировки мыла для методов в reference.cs, чтобы регистрировать запросы / ответы мыла, работает нормально.
В клиенте я получаю объект класса сложного типа WSDL, где я вижу, что все возвращается нормально как для синхронизации, так и для асинхронных вызовов.
Теперь это то, что я хочу / пытаюсь сделать, я хочу, чтобы методы возвращали не десериализованный объект класса, а мыльную строку, как они получены в потоке и перед десериализацией.
Как изменить метод для возврата мыльной строки? Речь идет не о доступе к ним (что мне удалось сделать), а о том, чтобы вернуться непосредственно из метода.
Пожалуйста, направьте меня в правильном направлении, иначе мне нужно будет внедрить мыльный клиент, которого я стараюсь избегать.
Я ценю любую помощь. Дайте мне знать, если я должен уточнить вещи.
Обновление:
Хорошо, сэр, это то, что я сделал:
сгенерировал класс из WSDL с помощью svcutil, затем:
ServiceClient1 sc1 = new ServiceClient1();
TestResponseClass trc1 = sc1.method1("Testinput");
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(TestResponseClass ),"http://xxx.xxx.xxx.local/Service1.wsdl");
StringWriter stringWriter = new StringWriter();
x.Serialize(stringWriter, trc1);
Console.Write(stringWriter.ToString());
таким образом я получил xml ответ. ближе к тому, что я был готов, я постараюсь преобразовать это в мыльный ответ. Я надеюсь, что сейчас на правильном пути. Пожалуйста, исправьте, если нет. учиться и учиться быстро ... я думаю