VB.net客户端上的soap标头身份验证

时间:2013-02-28 04:27:51

标签: vb.net web-services soap header wsdl

我正在开发VB.net客户端(excel)以连接到不在WSDL上公开身份验证方法的第三方webservice(java)。

如何在请求的标头中传递用户名和密码。肥皂头必须如何解释?

该文件仅说明如下:

通过WCF中的basicHttpBinding提供Web服务的通信。此绑定支持WSS SOAP消息安全性,WS-Security用户名令牌配置文件和WS-Security X.509证书安全性。经过测试,认证和支持的配置使用带有Windows凭据的Transport Credential安全模式。 “Web服务客户端必须在SOAP标头中传递Windows帐户的用户名和密码,以便为服务器和数据库层标识正确的Windows客户端。”

感谢。

所以任何评论都会受到赞赏。 我已经去了stackoverflow中的大多数线程。其中大多数是在服务器端设置的身份验证方法,在这种情况下不适用,因为我无法控制Web服务。

这是一对一的客户端服务器关系。

1 个答案:

答案 0 :(得分:0)

是的,我已经完成了凭证部分。显然,我是从找到解决方案的其他人那里复制并粘贴的。

import System.Net; 
.... 
dim myService as New wsService
dim myCredentials as New Sustem.Net.CredentialCache()
dim netCrd as Ne NetworkCredential(UserName,Password,Domain)
myCredentials.Add(New Uri(wsServiceUrl), "Basic", netCred)
myService.UseDefaultCredentials = false
myService.Credentials = myCredentials

dim Data1 as new DataResponse
dataResponse = myService.getData("param1")

通过代理方法调用getData方法。

但是,我仍然不知道在标题上自定义用户名和密码,因为我检查了xml请求,我看不到任何标题标记。

任何好的评论都会受到赞赏。