6
votes

Savon avec pièces jointes dans vb.net

J'ai besoin d'utiliser un service Web qui m'a été fourni et qui utilise du savon avec des pièces jointes comme moyen de communication. Il utilise également WS-Security 1.0 comme une forme d'authentification (utilisateur et passe en texte brut).

Je travaillerai sur vb.net et mon expérience avec Web Services est très mince et va jusqu'à créer un service Web WCF, en ajoutant la référence de service dans un autre projet, créant ainsi une classe de proxy et en utilisant les méthodes. < / p>

J'ai recherché Internet et j'ai constaté qu'il n'y a pas de support natif pour SWA dans VB.NET, est-ce correct? Un exemple sur la manière dont je peux aborder la communication et une indication sur l'endroit où je peux être plus conscient de ces concepts serait superbe.


0 commentaires

3 Réponses :


1
votes

Dans un projet récent de mien, je devais communiquer en C # avec un service Web SOAP. Pour faire face à cela, j'ai fabriqué mon plein SoPenenvelope dans une chaîne et envoyez-le au service Web avec un site httpwebrequest. Avec les webrestres, vous pouvez ensuite lire la réponse du Webservice et la remettre dans une chaîne. Cette chaîne vous pouvez convertir en xmldocument pour lire l'objet que vous souhaitez.

Vous pouvez facilement faire le soplope comme vous le souhaitez avec une boucle (si nécessaire) et également mettre l'authentification dans l'en-tête du SoPenenvelope (l'a fait de cette façon)

Pour obtenir la syntaxe de SoPenenvede correcte de votre service Web, je peux vous conseiller d'utiliser Soapui, une excellente petite application qui m'a beaucoup aidé! De cette façon, vous remarquerez où mettre l'authentification ..


5 commentaires

Mon problème est avec les pièces jointes. Vous travaillez aussi avec cela dans votre projet?


Que voulez-vous dire exactement avec les pièces jointes, pouvez-vous donner un exemple de cela?


J'ai un fichier XML et j'ai besoin de l'envoyer avec la demande de savon. D'après ce que j'ai lu, il semble qu'il n'y ait pas de soutien à .net pour cela, mais je ne sais pas vraiment ce que cela signifie.


Mais le savon est déjà sous une sorte de formulaire XML. Voulez-vous dire par exemple que vous devez donner des informations supplémentaires au service Web pour lui donner des commandes plus précises? Ensuite, je suppose que vous pouvez mettre le XML que vous devez envoyer une chaîne et mettre dans le corps de la demande de savon.


Je ne pense pas que je puisse le faire. Il peut s'agir d'un fichier XML ou d'un autre type afin de ne pas fonctionner: /



1
votes

Pourquoi ne pas simplement mettre vos données de pièce jointe dans une matrice d'octet et envoyer cela? XXX PRE>

Streaming Votre fichier dans le tableau d'octets avec quelque chose le long de ces lignes (ouvrez un courant pour la pièce jointe. Dans cette fonction): P>

Dim filePath as String = "Path\to\file"
Dim fileBytes as Byte() = System.IO.File.ReadAllBytes(filePath)


0 commentaires

0
votes

Autant que je puisse dire d'ici: http://www.w3.org/tr / SOAPT-APPARTEMENTS Les pièces jointes doivent aller en ligne dans le corps du message, ce qui signifie que vous devez combiner les réponses de Kevin et Tom pour construire votre message.

J'ai noté que le savon avec des pièces jointes semble être une soumission et non une norme, de plus, il est plutôt daté.

En supposant que vous devez utiliser le service Web 'tel quel', j'essaierais d'obtenir des données ou des exemples supplémentaires à partir du créateur de service / fournisseur si vous le pouvez.


0 commentaires