2009-11-25 36 views
0

真的很简单的问题。从C#中的Web服务存储XML#

我正在向C#中的Web服务发送数据,并将其返回给我。它是一个SOAP 1.1和/或1.2 Web服务。我不知道如何正确接收这些数据,然后获取我需要的信息。

这里是我的代码,将它

try 
{ 
    _webService.ProcessCard(sVariable1, sVariable2); 

} 
catch (Exception d) 
{ 

} 

而且这里是我回来,如果我手工通过浏览器

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

这里使用该服务的服务定义:

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

你有什么打算与所得到的数据做线的东西? – HackedByChinese 2009-11-25 17:13:34

+0

ProcessCard的退货是什么?您的Web服务是否为SOAP Web服务?休息?其他东西WCF?是否有_webService实例的其他成员?我们能否看到类定义,至少在方法和属性方面? – Dathan 2009-11-25 17:14:41

+0

为OP和其他评论添加了更多信息。 – 2009-11-25 18:04:01

回答

0

这个“webService.ProcessCard”方法是否返回任何内容?它是否返回一串XML或结构化数据类型?

请给我们ProcessCard的方法定义,请!

所以ProcessCard方法返回Response类型的对象 - 所以你只需简单地使用:

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

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

} 

一旦你的“响应”对象 - 你可以做你想做任何事的 - 存储,在屏幕上显示它,做一些计算.....

Web服务(ASP.NET ASMX或WCF)的整点是:you不必与尖括号汤(即很多低层XML的东西),但你可以专注于你的真实问题,并与整洁有用的对象一起工作秒。

很酷,不是吗?

+0

对不起,不澄清。它是一个SOAP Web服务。它返回一个类型响应的对象,这就是我不知道如何接受和存储的。如果这是一个字符串,我会没事的。 我将添加上面的定义。 我计划显示数据,所以我需要访问“无效”和“更多数据”等。 – 2009-11-25 18:02:29

+0

工作过,谢谢! – 2009-11-26 14:54:49

0

你应该能够做到沿

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