Обеспечивает ли контракт сообщений возможность взаимодействия на разных языках?

Я читаю об услугах 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 или на любом другом языке *


person Shailesh Jaiswal    schedule 29.09.2011    source источник


Ответы (2)


По крайней мере, 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.

person kroonwijk    schedule 29.09.2011

Обеспечивает ли он возможность взаимодействия в контексте использования веб-сервисов .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?).

person Rizal Almashoor    schedule 05.06.2012