7
votes

Envoi et réception de messages de savon

J'écris un client de service Web en C # et ne souhaitez pas créer et sérialiser / désérialiser des objets, mais plutôt envoyer et recevoir des XML bruts.

est-ce possible dans C #?


1 commentaires

Et avez-vous vraiment besoin de savon ou voulez-vous simplement envoyer XML en arrière?


4 Réponses :


1
votes

Vous pouvez avoir votre méthode de service Web renvoyer une chaîne contenant le XML, mais a-t-il attendu le commentaire ci-dessus sur la création de choses plus sujettes à une erreur.


0 commentaires

2
votes

Oui - Vous pouvez simplement déclarer les entrées et les sorties comme xmlnode 's xxx


0 commentaires

3
votes

Vous pouvez utiliser les classes System.net, telles que httpwebrequest et httpwebrevonse pour lire et écrire directement sur une connexion HTTP.

Voici une base (intermédiaire de la branchette, non compilée, sans erreur de vérification des erreurs, grossièrement Exemple simplifié). Peut ne pas être 100% correct, mais au moins vous donnera une idée de la façon dont cela fonctionne: xxx

Cette approche fonctionne bien. mais chances sont tout ce que vous devez faire peut être accompli en héritant les classes de proxy existantes et en dérogeant les membres dont vous avez besoin de me comporter différemment. Ce type de chose est mieux réservé lorsque vous n'avez pas d'autre choix, ce qui n'est pas très souvent dans mon expérience.


1 commentaires

+1 merci pour le post. J'ai posté ma mise en œuvre de votre suggestion également.



4
votes

Voici une partie d'une implémentation que je viens de courir en fonction de l'exemple de John M Gant. Il est important de définir l'en-tête de requête de type de contenu. De plus, mes informations nécessaires sont nécessaires. XXX


5 commentaires

Merci beaucoup, mais comment l'utiliser?


Demande WebRequest = CreeaterQuest (SoapMessage);


Webresponse webresponse = demande.getresponse ();


@Crice Dois-je créer une nouvelle classe de savon de savon lors de la mise en œuvre d'une interface IsoApMessage?


@HellowAhab vient de mettre l'interface sur n'importe quelle classe et de passer cela dans. Ou retirez l'interface sous forme de paramètre de CreekeQuest et utilisez chacun des quatre paramètres trouvés dans IsoApMessage.