Обеспечивает ли контракт сообщений совместимость между различными языками? - PullRequest
0 голосов
/ 29 сентября 2011

Я читаю об услугах WCF. Я новичок в услугах WCF. Я читал, что WCF обеспечивает совместимость. Я хочу знать, в каком контексте это обеспечивает совместимость. Обеспечивает ли это взаимодействие в контексте использования веб-сервисов .net wcf с любого другого языка (например, php) или для каких-либо иных целей. Я прочитал следующую статью.

http://blogs.msdn.com/b/drnick/archive/2006/11/27/mixing-message-contract-attributes.aspx

Таким образом, если мы предоставим OperationContract для всех методов веб-службы wcf, передав или возвратив MessageContract для какого-либо метода и DataContract для какого-то метода, что произойдет в php или любом другом языке? * Доступен ли метод с DataContract в качестве параметра или возвращаемого типа на php или любом другом языке? Или метод, имеющий MessageContract в качестве параметра или возвращаемого типа, доступен на php или любом другом языке? или оба доступны на php или любом другом языке *

Ответы [ 2 ]

1 голос
/ 05 июня 2012

Обеспечивает ли это взаимодействие в контексте использования веб-сервисов .net wcf с любого другого языка (например, php) или для любых других целей.

Возможность взаимодействия означает возможностьПозвоните в службу WCF с платформы, отличной от .NET, если клиент использует тот же протокол веб-службы, что и ваша служба.Обратите внимание, что вы можете использовать много типов привязок для вашей службы WCF, но только BasicHttpBinding, WSHttpBinding и WSDualHttpBinding поддерживают совместимость.Для получения дополнительной информации обратитесь к статье MSDN Протоколы веб-сервисов, поддерживаемые системными привязками взаимодействия .

Доступен ли метод с DataContract в качестве параметра или возвращаемого типа в php илилюбой другой язык?Или метод, имеющий MessageContract в качестве параметра или возвращаемого типа, доступен на php или любом другом языке?или Оба доступны на php или любом другом языке

Короткий ответ - да.Например, если вы используете BasicHttpBinding, все становится XML, и библиотеки, доступные для этого языка, могут преобразовать XML в нечто родное для языка.Например, PHP SoapClient преобразует возвращаемый тип DataContract во встроенный объект stdClass (см. Эхо-результат XML от службы wcf в php? ).

0 голосов
/ 30 сентября 2011

Как минимум, messagecontract должен обеспечить работоспособное решение, использующее PHP, в соответствии с http://cgeers.com/2009/08/20/using-wcf-services-with-php-5.

И я могу найти аналогичный пост для DataContracts в http://www.rizalalmashoor.com/blog/calling-a-wcf-service-from-php/.

И сравнивая способ, которым этидва типа контракта потребляются из PHP, я думаю, что это не создаст проблем при объединении двух в одном сервисе WCF.

...