我正在尝试使用第三方Web服务(来自Peoplesoft的组件接口),但为了进行身份验证,我必须有一个如下所示的标题:
<soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<wsse:Security soap:mustUnderstand="1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>X</wsse:Username>
<wsse:Password>X</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
我在我的应用程序中的web.config文件中添加了一个块,该文件试图使用webservice,如下所示:
<system.serviceModel>
<client>
<header>
<endpoint>
<wsse:Security soap:mustUnderstand="1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>X</wsse:Username>
<wsse:Password>X</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</endpoint>
</header>
</client>
</system.serviceModel>
但是标题仍然没有出现在对Web服务的XML请求中。
我是否在正确的轨道上?
答案 0 :(得分:0)
如果您使用.NET 2.0连接到该服务,最好的办法是下载WSE 3.0(WSE 2.0如果您使用的是.NET 1.1)。
如果您正在使用WCF连接到该服务,这里有一个链接,可以帮助您一路走来。这是关于在WCF中实现WS-Security标准的正确方法:
答案 1 :(得分:0)
请看这个链接:http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/03db0772-b319-468c-9298-0ec301dacf34
我从不会在WCF上不允许在http
上使用简单的用户名令牌