使用WSDL URL作为Web服务的ASP.NET请求和响应?

时间:2014-02-05 03:26:36

标签: c# asp.net web-services soap wsdl

好的,安装Visual Web Developer 2008,创建一个网站作为ASP.net(C#语言),而不是通过以下URL添加服务:http://ws.idssasp.com/members.asmx?wsdl并且在点击Go后,看起来像这样(我改变了)命名空间为ServiceMembers):

ServiceMembers

现在看起来像这样:

SolutionExplorer

如果我要去Default.aspx.cs文件,如何在页面加载上使用它?我希望从页面加载服务输出一些东西,当然,需要通过按钮调用其他东西,但实际上只需要一种方法从该服务中获取任何内容......如何做到这一点?

How to output Service Information for Members?

在这里看:http://ws.idssasp.com/members.asmx有很多方法类似于上面的图片,但是如何在任何地方使用它们?当我尝试Response.Write(ServiceMembers.GetCategoryListResponse);时,如果给出错误,这是一个类型而不能以这种方式使用。我如何在这里使用任何东西?

另外,我需要将UsernamePassword传递到初始SOAP POST到该URL(我有),然后才能作为响应得到任何回复,但是如何?看起来我应该以某种方式使用ServiceMembers.AuthorizeHeader?但是怎么样?查看此页面hereGetCategoryList的请求XML,其中列出了XML:

  <soap:Header>
    <AuthorizeHeader xmlns="http://ws.idssasp.com/Members.asmx">
      <UserName>string</UserName>
      <Password>string</Password>
    </AuthorizeHeader>
  </soap:Header>

但是如何通过代码到服务器呢?未知!

我没有看到GetCategoryList方法作为ServiceMembers命名空间的选项,但GetCategoryListRequest类型和GetCategoryListResponse类型为ServiceMembers的选项通过最后一张照片。我如何调用服务方法?如何在此过程中使用此步骤?我已经阅读了很多这方面的教程,但是我所看到的没有解释如何做到这一点,没有某种错误,或者与我的情况不同。

任何人都可以通过简单的代码从这个Web服务中输出任何内容来启动我吗?什么都没有?每个人都说要使用Visual Web Developer,因为它会为您完成大量工作,但没有人解释如何使用您安装的任何Web服务。似乎他们只解释如何在Web服务中使用特定的东西,就好像他们没有教你在鱼的海洋中捕鱼,而是让你失败,用鱼桶装你肯定会捉。

这里的下一步是什么?我没有创建这个Web服务,我也不知道如何在ASP.NET网站中使用它。

1 个答案:

答案 0 :(得分:2)

GetCategoryList方法位于MembersSoapClient类中,您需要创建MembersSoapClient的实例才能使用GetCategoryList。请在Page_Load方法中尝试此操作:

protected void Page_Load(object sender, EventArgs e)
{
    AuthorizeHeader authorizeHeader = new AuthorizeHeader();
    authorizeHeader.UserName = "yourusername";
    authorizeHeader.Password = "yourpassword";

    MembersSoapClient client = new MembersSoapClient();
    Category[] categories = client.GetCategoryList(authorizeHeader);
}