2017-10-17 14 views
1

J'ai le WSDL d'un service Web SOAP et je le consomme via mon application MVC. De l'ajout du WSDL en tant que service web à ma solution Visual Studio, il crée automatiquement une classe proxy pour moi et gère toute la sérialisation/déstabilisation pour moi, ce qui est vraiment génial pour un moment. J'ai utilisé cette classe proxy pour appeler/envoyer ma requête SOAP au service web (avec un code C# pur et sans XML) et j'ai reçu mon message de réponse et tout fonctionne très bien.comment obtenir la représentation xml du message de demande SOAP?

Cependant, il me faut maintenant trouver quelle est la représentation xml exacte du message SOAP que j'envoie au service web. Comment puis-je obtenir/trouver/faire ceci?

+0

Vous pouvez toujours tracer et écrire un SOAP demande de réponse. Consultez ce lien: https://stackoverflow.com/questions/461744/get-soap-message-before-sending-it-to-the-webservice-in-net. Si vous souhaitez seulement vérifier et ne pas enregistrer ou écrire, je recommande d'utiliser Fiddler. – praty

Répondre

1

vous pouvez le faire comme ça

var serxml = new System.Xml.Serialization.XmlSerializer(request.GetType()); 
var ms = new MemoryStream(); 
serxml.Serialize(ms, request); 
string xml = Encoding.UTF8.GetString(ms.ToArray()); 

où xml est votre SOAP brute

2

C'est facile avec SOAPUI.

  1. Télécharger SoapUI.
  2. Créez un nouveau projet SOAP pointant vers votre fichier WSDL . Après l'importation du fichier WSDL, ouvrez une demande et entrez des valeurs . En d'autres termes, créez une véritable requête SOAP.

    enter image description here

  3. exécuter la demande sur le serveur en appuyant sur le bouton vert.

    enter image description here

  4. Obtenez la réponse enter image description here
+0

une réponse en bref! Votez! –

+0

merci de votre réponse. ceci pour l'aide sûre. Cependant, je cherche la notation de la demande. Je regarde SOAPExtension, mais pour une raison quelconque, après avoir mis en place la classe d'extension et modifié mon fichier web.config, je ne vois toujours pas de journal créé lorsque j'appelle le service de savon. Notez bien si vous avez des suggestions? – CB4

+0

@ Cb4 J'ai utilisé un mélange de AOP et Log4Net cela fonctionne comme un charme. – Namphibian