2009-11-25 3 views
0

Question simple et rapide vraiment.Stockage XML à partir d'un service Web en C#

J'envoie des données à un service Web en C# et il me redonne XML. C'est un service web SOAP 1.1 et/ou 1.2. Je ne suis pas sûr de savoir comment recevoir correctement ces données et ensuite obtenir les informations dont j'ai besoin.

Voici mon code pour envoyer

try 
{ 
    _webService.ProcessCard(sVariable1, sVariable2); 

} 
catch (Exception d) 
{ 

} 

Et voici ce que je reviens si je l'utilise manuellement le service via un navigateur

<Response> 
    <Result>24</Result> 
    <RespMSG>Invalid</RespMSG> 
    <ExtData>More Data</ExtData> 
</Response> 

Voici la définition du service:

public Response ProcessCard(string sVariable1, string sVariable2) { 
     object[] results = this.Invoke("ProcessCard", new object[] { 
     sVariable1, 
     sVariable2}); 
     return ((Response)(results[0])); 
    } 
+0

Que comptez-vous faire avec les données obtenues? – HackedByChinese

+0

Quel est le retour de ProcessCard? Votre service Web est-il un service Web SOAP? DU REPOS? Quelque chose d'autre WCF? Y a-t-il d'autres membres de l'instance _webService? Pouvons-nous voir la définition de la classe, au moins en termes de méthodes et de propriétés? – Dathan

+0

Ajout de plus d'infos sur OP et d'autres commentaires. –

Répondre

0

Est-ce que cette méthode "webService.ProcessCard" renvoie quelque chose? Renvoie-t-il une chaîne XML ou un type de données structuré? Montrez-nous la définition de la méthode ProcessCard, s'il vous plaît!

Ainsi, la méthode ProcessCard retourne un objet de type Response - donc vous utilisez tout simplement que:

try 
{ 
    Response myResponse = _webService.ProcessCard(sVariable1, sVariable2); 

    // do whatever you like and need to do with myResponse 
    ....... 
} 
catch (Exception d) 
{ 

} 

Une fois que vous avez cette « réponse » objet - que vous pouvez faire tout ce que vous voulez avec elle - la stocker, montrez-le sur l'écran, faites quelques calculs .....

Le point entier des services de Web (ASP.NET ASMX ou WCF) est que vous n'avez pas besoin de lutter avec la soupe d'équerre (c.-à-d. choses XML de bas niveau), mais vous pouvez vous concentrer et vous concentrer sur vos vrais problèmes et travailler avec un objet net et utile s.

Cool, n'est-ce pas?

+0

Désolé de ne pas avoir clarifié. C'est un service web SOAP. Il renvoie un objet de type réponse, c'est ce que je ne suis pas sûr de savoir comment accepter et stocker. Si c'était une chaîne, ça irait. Je vais ajouter la définition ci-dessus. Je prévois d'afficher les données, donc j'ai besoin d'accéder à la "Invalide" et le "Plus de données", etc –

+0

A travaillé, merci! –

0

Vous devriez être en mesure de faire quelque chose le long des lignes de

Response response = _webService.ProcessCard(sVariable1, sVariable2); 
DoSomethingToResult(response.Result); 
Questions connexes