Кто-нибудь знает какие-либо проблемы с использованием WCF для предоставления интерфейса SOAP для клиентов. - PullRequest
4 голосов
/ 20 сентября 2008

Кто-нибудь знает о каких-либо проблемах с использованием WCF для предоставления интерфейса SOAP для не .NET-клиентов? Например несовместимости с другими библиотеками SOAP?

Это сделано для того, чтобы интерфейс SOAP мог быть открыт для интеграции третьими лицами с нашим программным обеспечением.

Ответы [ 3 ]

8 голосов
/ 21 сентября 2008

Некоторые из проблемных областей, с которыми я столкнулся в WCF:

  • Он генерирует разделенный WSDL через несколько URL-адресов. То есть один часть схемы находится на одном URL, другой по другому URL и т. д. «Основной» URL WSDL (один с просто "? WSDL" после названия сервиса) ссылается на других через xsd:import элементы. Многие клиенты SOAP (например, pre-.NET Delphi) испытывают огромные трудности с этой идиомой. Таким образом, вам действительно нужно «сплющить» ваш WSDL для того, чтобы на практике добиться совместимости. Одно решение дано здесь .
  • WCF не генерирует пространства имен XML так же, как, скажем, в сети ASMX Сервисы. WCF имеет тенденцию к разместить любую услугу или данные контракта в собственное пространство имен Выбор. Опять же, некоторые клиенты SOAP испытывают трудности с этим. Вы можете повысить свой уровень взаимодействия, добавив явное пространство имен к своим атрибутам ServiceContract и DataContract.
  • Многие клиенты SOAP не справляются ошибки так же хорошо, как клиенты WCF. Например, код генерации прокси не будет создавать объекты на стороне клиента для неисправности объявлены в WSDL. ошибки все еще будут передаваться клиент, конечно, но Затем клиент должен сделать больше работы, чтобы выяснить, что это за вина был.
1 голос
/ 23 сентября 2008

версии стека стандартов WS- * также могут быть проблемой взаимодействия - например, версия WS-Addressing (2003), поддерживаемая некоторыми реализациями Java, например, Oracle BPEL не поддерживается WCF, который поддерживает более поздние версии черновика и версии 1.0 но не ранее 2003 года

0 голосов
/ 20 сентября 2008

Вообще все отлично работает. Очевидно, это будет зависеть от клиента, который вы используете - не все правильно реализуют SOAP.

P.S. Не могли бы вы перефразировать ваш вопрос, если вы надеетесь на более конкретный ответ?

...