Веб-сервис BizTalk возвращает значение, а не void + ref
Есть ли способ получить веб-сервис, сгенерированный мастером BizTalk Web Services, для оркестровки, возвращающей значение, вместо того, чтобы возвращать пустое значение и использовать return по ref?
Я пытаюсь эмулировать существующий веб-сервис, который очень прост... веб-метод принимает строку и возвращает строку... public string MyTestMethod(string MyVal)
Прокси для веб-службы из оркестровки работает, но мастер BizTalk создает... public void MyTestMethod (ref string MyVal)
Я пробовал расширенный вариант, Force Request Response, но, похоже, ничего не делает
3 ответа
Единственным ответом, который я нашел, было ручное редактирование файла ASMX.CS, который генерирует мастер публикации веб-служб BizTalk...
Измените ElementName для методов в параметре...
([XmlElement(Namespace = null, ElementName = "XML")] string part)
Полностью удалить...
[return: System.Xml.Serialization.XmlElementAttribute ...]
атрибутПлюс настроить
WebService(Name="", Namespace="",...)
ценности, чтобы удовлетворить
Это, конечно, означает, что вы не можете просто сгенерировать заново с помощью мастера:-(
Вы пытаетесь опубликовать Orchestration как веб-сервис или Schema как сервис?
Замечания при использовании мастера веб-службы: http://technet.microsoft.com/en-us/library/aa559660(BTS.20).aspx... для 2006 R2
Я знаю, что это довольно старый пост, но на случай, если к нему придет еще кто-нибудь: мне удалось сделать это, как предложено Томом Редферном выше. Он отлично работает, если ваш входящий порт оркестровки является двусторонним.
В моем случае мне пришлось представить оркестровку в качестве службы WCF, где моя оркестровка получает домен (например, "gmail.com") в качестве входного параметра, выполняет некоторую обработку и в конце выполняет хранимую процедуру, которая выбирает список принадлежащих электронных писем. в этот домен. Таким образом, у меня был "Домен" в качестве ввода и "ListOfUsers" в качестве вывода. Наличие моего входящего порта оркестрации как "ДВА" позволило мне получить сообщение типа "Домен" и выходное сообщение типа "ListOfUsers".
После этого я мог использовать "BizTalk WCF Service Publishing Wizard", и он прекрасно его генерирует. Просто пришлось настроить пространства имен, имена портов, пул приложений и т. Д. И все хорошо! Пробовал с помощью SoapUI и работает отлично!