【发布时间】:2011-08-31 14:55:42
【问题描述】:
我的公司在其中一个服务器上托管了一个 SOAP 网络服务,并且要求使用这个网络服务直接从我正在开发的网络前端创建“任务”。我可以访问 WSDL。
网络服务文档指出我必须:
1.调用 LoginSI,提供用户名和密码进行认证, 结果接收到 SessionId
2。对 WebService 执行任意数量的方法调用,传入 SessionId
3.调用 LogoutSI,传入 SessionId。这将放弃之前的会话 使用 LoginSI 建立
这听起来很合理,我已经设法调用 LoginSI 网络服务并使用以下简单的 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 服务。
任何人都可以在正确的方向上刺激我吗?
【问题讨论】:
-
什么样的网络服务?休息?肥皂?有 WSDL 吗?
-
@Oded 是的,有一个 WSDL。请原谅我的愚蠢,但我如何确定它是否是 SOAP / REST?
-
如果它有 WSDL,那就是 SOAP。
标签: c# asp.net html web-services