微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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服务添加为组件).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐