在VB.net客户端上进行肥皂标头验证
问题描述:
我正在开发VB.net客户端(excel)以连接到第三方Web服务(java),它们不公开WSDL上的身份验证方法。在VB.net客户端上进行肥皂标头验证
如何在请求的标头中传递用户名和密码。有没有解释肥皂头必须如何?
该文件只能说以下内容:通过WCF中的basicHttpBinding的提供
Web服务通信。此绑定支持WSS SOAP消息安全性,WS-Security用户名令牌配置文件和WS-Security X.509证书安全性。经过测试,认证且受支持的配置在Windows凭据中使用传输凭证安全模式。 “Web服务客户端必须在SOAP头中传递Windows帐户的用户名和密码,以便为服务器层和数据库层标识正确的Windows客户端。”
谢谢。
因此,任何意见将不胜感激。 我已经去了stackoverflow中的大部分线程。他们中的大多数是在服务器端设置的认证方法,在这种情况下不适用,因为我无法控制Web服务。
这是一对一的客户服务器关系。
答
yeap,我已完成凭证部分。显然,我从其他找到解决方案的人那里复制并粘贴。
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请求,我看不到任何头标记。
任何好意见,将不胜感激。