2010-10-15 21 views

Respuesta

0

No puede consumir un WCF directamente con MS Access.

Si posee el servicio WCF, tendrá que cambiarlo a un servicio web utilizando enlaces HTTP.

Si no lo posee, tendrá que escribir su propio servicio web que básicamente es un envoltorio alrededor del WCF.

Luego puede consumirlo como un servicio web en MS Access.

9

PUEDE consumir servicios de WCF a través de MS Access, pero no a través de mecanismos estándar de WCF. Deberá consumir el servicio mediante solicitudes GET, solicitudes POST o solicitudes SOAP.

  1. Una forma de lograr esto para las peticiones SOAP en el lado de acceso está usando el kit de herramientas SOAP: http://msdn.microsoft.com/en-us/library/aa140260%28office.10%29.aspx

  2. Otra manera que funcione para GET, las solicitudes POST o SOAP es el uso de XMLHTTP (si ir a la ruta de SOAP, que necesita para hacer su propia envoltura SOAP en el XML): http://www.codemaker.co.uk/it/tips/ado_conn.htm (búsqueda de Xmlhttp)

en el lado WCF tiene un par de choic es:

  1. Alojar un servicio de WebHttpBinding. Esto le brinda opciones para exponer los puntos finales GET y POST para sus servicios. Ver http://www.windowsitpro.com/article/net-framework2/exposing-classic-http-endpoints-with-wcf-in-net-3-5.aspx.

  2. Aloje un servicio BasicHttpBinding que expone un punto final SOAP (este es el punto final predeterminado de WCF si crea un nuevo servicio en Visual Studio). Si realiza esta ruta, es probable que desee configurarlo para que use la serialización XML heredada y WSDL para la compatibilidad si va con la opción 1 en el extremo de acceso (consulte http://msdn.microsoft.com/en-us/library/system.servicemodel.xmlserializerformatattribute.aspx).

otra cosa a tener en cuenta: Si crea un servicio WCF BasicHttpBinding con XmlSerializerFormatAttribute, que son básicamente recibiendo (desde el punto de vista de intercambio de datos) lo mismo que si tuviera que escribir un servicio legado asmx.

+1

Esta es una respuesta realmente agradable y completa, con muchas cosas interesantes reunidas en un solo lugar. +1 - Daría +5 si pudiera. –

Cuestiones relacionadas