2009-09-23 9 views
2

J'ai un simple service Web WCF qui utilise basicHttpBinding pour le rendre conforme à SOAP 1.1. Lorsqu'il est appelé avec un proxy dérivé de WSDL (en définissant un service ou une référence Web), le service fonctionne très bien.Soumettre une requête de service Web SOAP avec RAW SOAP XML

Un partenaire commercial souhaite appeler le service directement avec le code XML SOAP. Je sais comment fournir ce XML, mais je ne suis pas sûr de savoir comment traiter le XML lorsque le partenaire commercial soumet la demande. Est-ce que je rends cela plus difficile que nécessaire? La requête XML appellera-t-elle le service comme s'il avait été appelé via le proxy et la réponse rendra-t-elle naturellement la requête satisfaite? Ou dois-je faire quelque chose de plus pour traiter la demande XML, puis remettre quelque chose (quoi?) À mon service?

Je sais qu'il y a des questions similaires sur SO, mais elles semblent toutes traiter de la question de l'obtention du XML, pas du traitement.

Répondre

2

Il devrait suffire d'envoyer simplement le message SOAP brut à l'URL du point de terminaison du service. Le proxy dérivé WSDL génère simplement le SOAP à partir de vos objets et gère la gestion des connexions et le transport (probablement HTTP) des détails.

Il est possible que vous deviez ajouter un en-tête HTTP SOAPAction, en fonction du service.

Si vous interceptez la communication entre votre proxy dérivé WSDL et le service (par exemple, en utilisant TCPmon), vous verrez le message SOAP et les en-têtes HTTP utilisés.