2013-04-15 33 views
0

我用这作为Web服务参考问题在C#中访问安全的Web服务

http://<hostname>:8080/axis/services/USD_R11_WebService?wsdl" 

但现在我不得不使用使用SSL等安全的一个作为

**https:**//<hostname>/axis/services/USD_R11_WebService?wsdl" 

这应该使用端口443默认

我试过用它,但它没有结果,一旦我在我的代码沟通 这是我通常使用

USD_WebService wsUSD = new USD_WebService(); 
string username = "user name"; 
string password = "Password"; 
int sid = wsUSD.login(username, password); 
userhandle = wsUSD.getHandleForUserid(sid, username); 

但现在无法获得sid。

这是证书方面的问题还是网络认证问题?

我收到下列例外

system.net.webexception无法连接到远程服务器system.net.sockets.socketexception 的连接尝试失败,因为连接的方没有正确一段时间后响应或建立连接失败,因为连接的主机未能响应:80

+3

请更改您的标题。来自Google问题的人们会认为他们将会学习如何从C#访问安全的Web服务,并且会感到失望。 –

+0

当您试图调用'.login'或其他函数时,您是否遇到异常?如果是这样,你可以发布一些异常信息吗?这应该有助于给出错误原因的某些方向。 – jmgardn2

+0

system.net.webexception无法连接到远程服务器system.net.sockets.socketexception 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而建立连接失败:80 – za7ef

回答

0

我在解决了问题 之后通过app.config作为jmgardn2在他的评论中回复。

我发现,只要将安全链接添加到Web引用,它就不会在配置文件中反映出正确的链接。简单地将它从HTTPS删除S和I继电器不知道为什么在Visual Studio删除它看到如下

<app.Properties.Settings> 

     <value>http://<hostname>/axis/services/USD_R11_WebService</value> 
</app.Properties.Settings> 

我100%肯定,我添加了安全Web引用,当我改回了这

<value>https://<hostname>/axis/services/USD_R11_WebService</value> 

它完美地工作,