ошибка при отправке данных в веб-сервис

с использованием оркестровки bizTalk 2010: когда я отправляю порт данных, настроенный как веб-служба, появляется следующая ошибка

Адаптеру не удалось передать сообщение на порт отправки > "WcfSendPort_Service_ServiceSoap12" с URL-адресом "blablabla/Service.asmx". Он будет повторно передан после интервала повтора, указанного для этого порта отправки. > Подробности: «System.Xml.XmlException: отсутствует корневой элемент. Xml.XmlReader.MoveToContent() в >Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkBodyWriter.ValidateStreamContainsXml(Stream >stream) в >Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.CreateWcfMessage(CreateWcfMessageSettings>параметры ngs) в Microsoft .BizTalk.Adapter.Wcf.Runtime.WcfClient2.SendRequestMessage(IBaseMessage >bizTalkMessage, IRequestChannel channel) at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient2.SendMessage(IBaseMessage >bizTalkMessage)".


person user2541552    schedule 12.07.2013    source источник
comment
и сообщение схемы wcf: ‹ns0:sendMessage xmlns:ns0=tempuri.org› ‹ns0:phoneNumber ›phoneNumber_0‹/ns0:phoneNumber› ‹ns0:сообщение›message_0‹/ns0:сообщение› ‹/ns0:sendMessage›   -  person user2541552    schedule 12.07.2013


Ответы (1)


Важная часть исключения:

System.Xml.XmlException: отсутствует корневой элемент.

Это говорит о том, что вы не передаете то, что, как вам кажется, вы передаете.

В экземпляре приостановленного сообщения убедитесь, что тело отправляемого сообщения соответствует вашим ожиданиям; или - измените адаптер порта отправки на ФАЙЛ и запишите сообщение в файловую систему, чтобы проверить содержимое сообщения.

person Nick Heppleston    schedule 12.07.2013
comment
экземпляр прибывает для отправки сообщения: ‹?xml version=1.0 encoding=utf-8 ?› - ‹Records xmlns=› ‹PhoneNumber›123456786‹/PhoneNumber› ‹Message›how are you‹/Message› ‹/Records› - person user2541552; 12.07.2013
comment
и сообщение схемы wcf: ‹ns0:sendMessage xmlns:ns0=tempuri.org› ‹ns0:phoneNumber ›phoneNumber_0‹/ns0:phoneNumber› ‹ns0:сообщение›message_0‹/ns0:сообщение› ‹/ns0:sendMessage› - person user2541552; 12.07.2013
comment
я меняю адаптер wcf на файл, тогда он работает, но с адаптером wcf не работает! - person user2541552; 12.07.2013
comment
Похоже, вам не хватает карты для преобразования ‹Records›‹PhoneNumber›.... в ‹sendMessage›‹phoneNumber›. Вы можете добавить карту на порт отправки, который передает сообщение через адаптер WCF. - person Nick Heppleston; 12.07.2013
comment
Преобразуется ли он из ‹Records›‹PhoneNumber›.... в ‹sendMessage›‹phoneNumber›? - person Nick Heppleston; 12.07.2013
comment
Ник прав, отсутствие корневого элемента в основном означает, что получаемое вами сообщение не содержит никаких данных (нет корня XML). Если вы сохраняете тот же конвейер с адаптером FILE и появляется сообщение, это означает, что вам, вероятно, следует попытаться найти проблему в свойствах вашего адаптера. Это может быть множество вещей, чтобы быть честным. - person Pieter Vandenheede; 12.07.2013