2010-10-15 8 views

Répondre

0

Vous ne pouvez pas utiliser un WCF directement avec MS Access.

Si vous possédez le service WCF, vous devez le remplacer par un service Web à l'aide de liaisons HTTP.

Si vous ne le possédez pas, vous devrez écrire votre propre service Web qui est essentiellement un wrapper autour de la WCF. Ensuite, vous pouvez le consommer en tant que service Web dans MS Access.

9

Vous pouvez utiliser les services WCF via MS Access, mais pas via les mécanismes WCF standard. Vous devrez consommer le service via des requêtes GET, des requêtes POST ou des requêtes SOAP.

  1. Une façon d'y parvenir pour les requêtes SOAP du côté d'accès utilise la boîte à outils SOAP: http://msdn.microsoft.com/en-us/library/aa140260%28office.10%29.aspx

  2. Une autre façon qui fonctionne pour GET, les requêtes POST ou SOAP utilise XMLHTTP (si vous suivre la voie SOAP, vous devrez faire votre propre enveloppe SOAP dans le fichier XML): http://www.codemaker.co.uk/it/tips/ado_conn.htm (recherche XMLHTTP)

du côté WCF vous avez quelques choic es:

  1. Hébergez un service WebHttpBinding. Cela vous donne des options pour exposer les points de terminaison GET et POST pour vos services. Voir http://www.windowsitpro.com/article/net-framework2/exposing-classic-http-endpoints-with-wcf-in-net-3-5.aspx.

  2. Hébergez un service BasicHttpBinding qui expose un point de terminaison SOAP (il s'agit du point de terminaison WCF par défaut si vous créez un nouveau service dans Visual Studio). Si vous suivez cette route, vous souhaiterez probablement l'utiliser pour utiliser la sérialisation XML héritée et WSDL pour la compatibilité si vous utilisez l'option 1 sur l'extrémité d'accès (voir http://msdn.microsoft.com/en-us/library/system.servicemodel.xmlserializerformatattribute.aspx).

Une autre chose à noter: Si vous créez un service BasicHttpBinding WCF avec XmlSerializerFormatAttribute, vous obtenez essentiellement (à partir d'un point de vue de l'échange de données) la même chose que si vous deviez écrire un service asmx hérité.

+1

Ceci est une réponse vraiment sympa, complète, avec beaucoup de choses intéressantes réunies en un seul endroit. +1 - Je donnerais +5 si je le pouvais. –

Questions connexes