在C#中从Web服务存储XML

时间:2009-11-25 17:06:35

标签: c# xml web-services

真的很简单的问题。

我正在向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]));
    }

2 个答案:

答案 0 :(得分: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)的重点在于不必与尖括号汤(即大量低级XML内容)相悖,但是你可以专注于您的真实问题,并使用整洁,有用的对象。

很酷,不是吗?

答案 1 :(得分:0)

你应该能够按照

的方式做点什么
Response response = _webService.ProcessCard( sVariable1, sVariable2 );
DoSomethingToResult( response.Result );