2016-05-24 207 views
0

我是C#的初學者,我的Visual Studio是2010年,我的Windows Phone 7版本是在互聯網上研究的,在此版本的命令「異步」只適用於Visual Studio 12起。Windows Phone - 消費Java Web服務

你有其他的選擇嗎?

我可以將webservice與引用服務進行映射,但返回總是爲零,但在Android中有效,錯誤可能是什麼?

我更改了代碼以保持他的身份,但錯誤仍在發生: 解組錯誤:意外元素(uri:「webservices.com.br/」; site:「parameter1」)。預期元素< {}參數2>,< {}參數1> 下面的源代碼:

public partial class MainPage : PhoneApplicationPage{ 
    wsServico.cadastroTo cadastroTo = null; 

    public MainPage(){ 
    InitializeComponent(); 
    } 

    private void button1_Click(object sender, RoutedEventArgs e){ 
    wsServico.TesteJavaWsClient ws = new wsServico.TesteJavaWsClient(); 
    ws.returnServicoAsync("A", "B");   
    ws.returnServicoCompleted += new EventHandler<wsServico.returnServicoCompletedEventArgs>(ws_returnServicoCompleted); 

    } 

    void ws_returnServicoCompleted(object sender, wsServico.returnServicoCompletedEventArgs e){ 
    cadastroTo = e.Result; 
    textBox1.Text = cadastroTo.cadastroId.ToString();   

    } 

} 
+0

嘗試添加這個舊的[通過NuGet的異步CTP](https://www.nuget.org/packages/AsyncCTP/),您將使用異步/等待。 –

+0

在網站上的Nugget下載頁面中,沒有Visual Studio 2010的版本,我應該怎麼做? –

+0

這裏是[來自MSDN的Async CTP v3的帖子](https://blogs.msdn.microsoft.com/lucian/2011/10/31/async-ctp-v3-installation/),請嘗試下載舊的安裝程序並看看它是否可行 - 還有,你是否必須使用WP7,爲WP8開發,甚至Win10 mobile會更有意義? –

回答

0

你太早設置你的文本 - Web服務調用返回之前。在您啓動Web服務呼叫後,您立即設置您的文本框,該文本框將爲空。您想在Web服務返回結果後在ws_returnServicoCompleted方法中設置值。

private void button1_Click(object sender, RoutedEventArgs e){ 
    wsServico.TesteJavaWsClient ws = new wsServico.TesteJavaWsClient(); 
    ws.returnServicoAsync("A", "B");   
    ws.returnServicoCompleted += new EventHandler<wsServico.returnServicoCompletedEventArgs>(ws_returnServicoCompleted); 
} 

void ws_returnServicoCompleted(object sender, 
    wsServico.returnServicoCompletedEventArgs e){ 
     cadastroTo = e.Result; 
     cadastroTo.cadastroId.ToString(); 
} 
+0

我設法解決問題,否則,謝謝。 –

+0

請發表您的答案 –

+0

我把解決方案放在我的個人網站鏈接下面:http://www.tidicas.com.br/?p=911 –