C# SOAP 客户端使用 WebForm 并列出结果
C# SOAP Client using WebForm and listing results
我对 SOAP 和 C# 还很陌生,但我试图通过构建一个简单的 SOAP Web 客户端来学习。我创建了一个带有单个按钮和列表框的 Web 表单。单击该按钮向 Web 服务发送 SOAP 调用,return 是一个简单的结果并显示在列表框中。该方法 (getCountRegisteredSubscribers) 不需要输入并且 returns 是一个 int。接下来,我想 return 使用另一种称为 getSubscriber 的方法获取有关订阅者的信息。此方法确实需要输入(订户名称)并将 return 多个结果。我正在努力解决如何通过传递订阅者姓名并在我的列表框中列出结果来拨打电话的问题,非常感谢任何建议!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
WebApplication2.WebReference.SMFAdmin ws = new WebApplication2.WebReference.SMFAdmin();
ListBox1.Items.Add("Request Submitted");
ListBox1.Items.Add(""+ ws.getCountRegisteredSubscribers());
//ListBox1.Items.Add("" + ws.getSubscribers("subname"));
}
}
}
更新
我添加了一个变量来存储订户名称,但是,它在我的列表框中 returning 'WebApplicaiton2.WebReference.Subscriber'。任何想法如何解决这一问题?有几个项目与每个订阅者相关联,我如何让它们在我的列表框中列出?提前致谢。
namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
var subName = "subscriber 1";
WebApplication2.WebReference.SMFAdmin ws = new WebApplication2.WebReference.SMFAdmin();
ListBox1.Items.Add("Request Submitted");
ListBox1.Items.Add(""+ ws.getCountRegisteredSubscribers());
ListBox1.Items.Add("" + ws.getSubscriber(subName));
}
}
}
您只需要遍历结果并将它们插入列表框即可。
protected void Button1_Click(object sender, EventArgs e)
{
WebApplication2.WebReference.SMFAdmin ws = new WebApplication2.WebReference.SMFAdmin();
ListBox1.Items.Add("Request Submitted");
ListBox1.Items.Add("" + ws.getCountRegisteredSubscribers());
ListBox1.Items.Add("" + ws.getSubscribers("subname"));
List<string> lstOutput = new List<string>();
lstOutput = ws.getSubscribers("subname");
lstOutput.ForEach(eachItem => ListBox1.Items.Add(eachItem));
}
从您的异常消息来看,getSubscribers 似乎没有将字符串值作为参数。所以你必须做这样的事情。
ws.getSubscribers(new SubscriberNameInfo
{
*** value goes here **
});
我不知道 SubscriberNameInfo
class 的详细信息,所以我无法指定属性。
注意:上面回答的第二个评论是类似的,我只是添加了一些代码片段。
希望对您有所帮助。
我对 SOAP 和 C# 还很陌生,但我试图通过构建一个简单的 SOAP Web 客户端来学习。我创建了一个带有单个按钮和列表框的 Web 表单。单击该按钮向 Web 服务发送 SOAP 调用,return 是一个简单的结果并显示在列表框中。该方法 (getCountRegisteredSubscribers) 不需要输入并且 returns 是一个 int。接下来,我想 return 使用另一种称为 getSubscriber 的方法获取有关订阅者的信息。此方法确实需要输入(订户名称)并将 return 多个结果。我正在努力解决如何通过传递订阅者姓名并在我的列表框中列出结果来拨打电话的问题,非常感谢任何建议!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
WebApplication2.WebReference.SMFAdmin ws = new WebApplication2.WebReference.SMFAdmin();
ListBox1.Items.Add("Request Submitted");
ListBox1.Items.Add(""+ ws.getCountRegisteredSubscribers());
//ListBox1.Items.Add("" + ws.getSubscribers("subname"));
}
}
}
更新
我添加了一个变量来存储订户名称,但是,它在我的列表框中 returning 'WebApplicaiton2.WebReference.Subscriber'。任何想法如何解决这一问题?有几个项目与每个订阅者相关联,我如何让它们在我的列表框中列出?提前致谢。
namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
var subName = "subscriber 1";
WebApplication2.WebReference.SMFAdmin ws = new WebApplication2.WebReference.SMFAdmin();
ListBox1.Items.Add("Request Submitted");
ListBox1.Items.Add(""+ ws.getCountRegisteredSubscribers());
ListBox1.Items.Add("" + ws.getSubscriber(subName));
}
}
}
您只需要遍历结果并将它们插入列表框即可。
protected void Button1_Click(object sender, EventArgs e)
{
WebApplication2.WebReference.SMFAdmin ws = new WebApplication2.WebReference.SMFAdmin();
ListBox1.Items.Add("Request Submitted");
ListBox1.Items.Add("" + ws.getCountRegisteredSubscribers());
ListBox1.Items.Add("" + ws.getSubscribers("subname"));
List<string> lstOutput = new List<string>();
lstOutput = ws.getSubscribers("subname");
lstOutput.ForEach(eachItem => ListBox1.Items.Add(eachItem));
}
从您的异常消息来看,getSubscribers 似乎没有将字符串值作为参数。所以你必须做这样的事情。
ws.getSubscribers(new SubscriberNameInfo
{
*** value goes here **
});
我不知道 SubscriberNameInfo
class 的详细信息,所以我无法指定属性。
注意:上面回答的第二个评论是类似的,我只是添加了一些代码片段。
希望对您有所帮助。