c# – 纯粹从aspx页面使用Web服务

我的公司在其中一台服务器上托管SOAP Web服务,并且已经要求使用此Web服务直接从我正在开发的Web前端创建“任务”.我可以访问WSDL.

Web服务文档声明我必须:

1.调用LoginSI,提供用于身份验证的用户名和密码,
       结果收到SessionId

2.对WebService执行任意数量方法调用,并传入SessionId

3.调用logoutSI,传入SessionId.这将放弃当时的会议
       与LoginSI建立

这听起来很合理,我已经设法调用LoginSI webservice并使用以下简单的HTML表单检索SessionID:

<form action="http://webservice_server/webservice.asmx/LoginSI" method="post">
    <p>
        Username:<br />
        <input type="text" name="username"/>
    </p>
    <p>
        Password:<br />
        <input type="password" name="password"/>
    </p>

    <input type="submit" value="Test login"/>
</form>

到现在为止还挺好.下一步是开始执行其他Web服务.但是我想要的是从同一页面(最初)完成所有这些.例如,一旦您成功登录,代码隐藏将处理Web服务响应并获取您的会话ID.然后会出现页面上的其他一些选项,然后对Web服务的每次后续调用都将使用会话ID.

我不知道如何纯粹从代码隐藏(或以任何其他方式实现所需行为)消费web服务.我发现了一些文章,但他们大多提到了为项目添加程序集引用,我认为我不能这样做,因为我自己没有编写Web服务.

有人能用正确的方向刺激我吗?

解决方法

您可以通过 Add web reference选项添加对WSDL文件的引用.

这将生成您可以在代码中使用的代理.

有关详细信息,请参阅MSDN上的此walk-through(您可以跳转到将Web服务添加为组件).

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...