首页 新闻 会员 周边 捐助

如何调用加密的Web Service

0
悬赏园豆:200 [已解决问题] 解决于 2013-12-22 00:30

在VS里引用一个加密的Web Service:添加服务引用-〉高级-〉添加web引用,页面跳转到登录界面https://apac1.login...,输入用户名和密码之后,界面显示可用的方法,找到service,点击添加引用,在代码里调用刚才显示可用的方法,有异常抛出,异常信息为

The request failed with the error message:
--
<head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="https://apac1.login...">here</a></body>
--.

https://apac1.login即为刚才的登录界面。

 

如何解决?

牧云文仔的主页 牧云文仔 | 初学一级 | 园豆:22
提问于:2013-12-09 15:05
< >
分享
最佳答案
0

Object Moved

返回的是 http 302 吧,表示跳转,让你使用服务器返回的新的地址发请求。

收获园豆:170
Launcher | 高人七级 |园豆:45050 | 2013-12-09 15:14

按照异常的提示信息,新的地址就是登录的地址(this document may be found here),但它根本就不是一个合法的web service地址。或者我理解错了你的回答,还请指教,呵呵。

牧云文仔 | 园豆:22 (初学一级) | 2013-12-09 17:53

@牧云文仔: 是否返回的是 HTTP 302?如果是的话,就是表示你上一次的请求调用成功后(仅仅表示服务器处理了你的请求,假设要身份认证,并不一定就表示通过了身份认证),服务器将你的请求重定向到了一个新的地址,至于为什么发生此重定向,那你就得看服务端的逻辑了。

比如你在 www.cnblogs.com 首页登录,用户名和密码错了的话,它会将你重定向到登录页面,此时 HTTP 状态码就是 302,如果正确的话,它也会将你重定向到首页,状态码还是 302,如果通过代码来判断的话,就是分析服务器返回的重定向的地址是否是登录页面,如果是,表示没有通过认证,如果不是,表示通过了认证。

因此,你这里具体是什么原因,我不知道,因为我既没看过你的这个服务的文档,也没得到过你调用此服务的包,所以无法分析。我只知道发生了重定向。

Launcher | 园豆:45050 (高人七级) | 2013-12-09 18:01

没有信息显示返回的是 HTTP 302,但是确实发生了重定向,由于涉及项目信息,不好在这里讨论细节。希望能私下请教。

牧云文仔 | 园豆:22 (初学一级) | 2013-12-11 14:35

@牧云文仔: 你用抓包工具看过吗?如果没有请看一下此响应返回的状态码。

Launcher | 园豆:45050 (高人七级) | 2013-12-11 14:52
其他回答(3)
0

通常webservice 加密都是加Token.其实就是在SOAP包的包头里面加个用户名和密码...
在C#封完包后,操作包头好了

收获园豆:10
董毛毛 | 园豆:122 (初学一级) | 2013-12-09 15:15
0

这是加密的原因吗?不是Moved?

收获园豆:10
平常心队长 | 园豆:1113 (小虾三级) | 2013-12-09 16:39

因为加密,所以需要登录,登录完之后引起了moved,不知有何解决之道...

支持(0) 反对(0) 牧云文仔 | 园豆:22 (初学一级) | 2013-12-09 17:55
0

X509Certificate certificate = X509Certificate.CreateFromCertFile("c:\out.cer")

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

request.ClientCertificates.Add(certificate);
request.Method = "POST";
request.ContentType = "text/xml; charset=utf-8";

............................

不知道你说的是不是这个

收获园豆:10
轻松 | 园豆:212 (菜鸟二级) | 2013-12-11 11:25

不需要证书,也没有证书

支持(0) 反对(0) 牧云文仔 | 园豆:22 (初学一级) | 2013-12-11 14:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册