Вызов службы WCF из MS Access - PullRequest
5 голосов
/ 15 октября 2010

Я хочу создать службу WCF, которая вызывается нажатием кнопки формы MS Access.

Ответы [ 2 ]

9 голосов
/ 15 октября 2010

Вы можете использовать службы WCF через MS Access, но не через стандартные механизмы WCF. Вам потребуется использовать сервис через запросы GET, POST или SOAP.

  1. Одним из способов сделать это для запросов SOAP на стороне доступа является использование инструментария SOAP: http://msdn.microsoft.com/en-us/library/aa140260%28office.10%29.aspx

  2. Другой способ, который будет работать для запросов GET, POST или SOAP, - это использование XMLHTTP (если вы идете по пути SOAP, вам нужно будет создать свой собственный SOAP-конверт в XML): http://www.codemaker.co.uk/it/tips/ado_conn.htm (поиск по XMLHTTP)

На стороне WCF у вас есть несколько вариантов:

  1. Размещение службы WebHttpBinding. Это дает вам возможность выставлять конечные точки GET и POST для ваших сервисов. См http://www.windowsitpro.com/article/net-framework2/exposing-classic-http-endpoints-with-wcf-in-net-3-5.aspx.

  2. Размещение службы BasicHttpBinding, предоставляющей конечную точку SOAP (это конечная точка WCF по умолчанию, если вы создаете новую службу в Visual Studio). Если вы пойдете по этому пути, вы, вероятно, захотите настроить его на использование устаревшей сериализации XML и WSDL для совместимости, если вы выберете опцию 1 на стороне доступа (см. http://msdn.microsoft.com/en-us/library/system.servicemodel.xmlserializerformatattribute.aspx).

Еще одна вещь, на которую следует обратить внимание: если вы создаете службу WCH BasicHttpBinding с XmlSerializerFormatAttribute, вы получаете (с точки зрения обмена данными) то же самое, что и при написании устаревшей службы asmx.

0 голосов
/ 15 октября 2010

Вы не можете использовать WCF напрямую с MS Access.

Если вы являетесь владельцем службы WCF, вам придется изменить ее на веб-службу, используя привязки HTTP.

Если вы им не владеете, вам придется написать свой собственный веб-сервис, который по сути является оболочкой для WCF.

Тогда вы можете использовать его как веб-сервис в MS Access.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...