2009-11-25 64 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);