如何使用soap Web服务并在我的Windows Phone应用程序中显示数据

时间:2013-12-19 10:37:24

标签: c# .net web-services soap

我正在为Windows应用程序构建我的第一个应用程序。我的要求是 - 在单击按钮时我想导航到另一个页面,在该页面中,我希望通过执行xml解析直接从soap Web服务显示数据。

按钮事件代码:

private void button1_Click(object sender, RoutedEventArgs e)
{
    KejriwalService.arvindSoapClient client = new KejriwalService.arvindSoapClient();
    client.getarvindNewsCompleted += new EventHandler<KejriwalService.getarvindNewsCompletedEventArgs>(client_getarvindNewsCompleted);
}

void client_getarvindNewsCompleted(object sender, KejriwalService.getarvindNewsCompletedEventArgs e)
{
    textBlock1.Text = e.Result.ToString();
}

我从这里得不到任何结果。谁能请帮忙。我想从此Web方法中提取3个文本字段和1个图像

2 个答案:

答案 0 :(得分:1)

您已将该委托关联,但尚未调用该方法。你可能有像

这样的方法

KejriwalService.arvindSoapClient.DoSomethingAsync()

这将触发事件,之后它将在WebService的响应到来时触发client_getarvindNewsCompleted方法。

修改 只需记住在WebService方法中使用[WebMethod] attribute

public class Service1 : System.Web.Services.WebService
{ 
    [System.Web.Services.WebMethod]
    public string getarvindNews()
    {
       return "I am a string";
    }
}

在您的代码中,您可以像这样调用此异步:

private void button1_Click(object sender, RoutedEventArgs e)
{
    KejriwalService.arvindSoapClient client = new arvindSoapClient();
    client.getarvindNewsCompleted += new 
        EventHandler<getarvindNewsCompletedEventArgs>(client_getarvindNewsCompleted);

    //Call the method async and get its result in client_getarvindNewsCompleted
    client.getarvindNewsAsync();
}

void client_getarvindNewsCompleted(object sender, getarvindNewsCompletedEventArgs e)
{
    textBlock1.Text = e.Result.ToString();
}

答案 1 :(得分:1)

只需检查您的网络服务即可。您的代码很完美,但您需要更改您的Web服务。不要从你的web方法返回字符串,但返回xml