我用的是.Net,通常是C#...the。
有一个要实现的客户端web服务(WebSphere,不公开wsdl,soap…)因为我对这些几乎一无所知,要让它发挥作用是一件非常痛苦的事)
最后,我不再添加服务引用,而是添加web服务引用,从而使用该服务。因为服务没有公开它的wsdl,但是客户端提供了wsdl文件,所以我将文件路径指定为服务位置,然后编辑app配置。
所有操作都很好,直到客户端今天必须增加安全性,而我现在必须指定用户名和密码来调用他们的服务,而我却一无所知。
从客户的IT人员的邮件中摘录一些可能有用的信息(主要是希腊语对我来说):
“我们将使用行业标准WS-Security用户名令牌来保护服务”“为WS-Security UNT使用以下凭据”
在这里,我真正能做的就是提供我的“演示代码”,它在安全性被添加到他们这一边之前就起作用了:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ABCD.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<applicationSettings>
<ABCD_Login.Properties.Settings>
<setting name="ABCD_Login_AccessControlService_AccessControlService"
serializeAs="String">
<value>https://aaa.bbb.com/something/SecurityFacadeService/AccessControlService</value>
</setting>
<ABCD_Login.Properties.Settings>
</applicationSettings>
</configuration>var client = new AccessControlService();
bool validUser = client.validate(username, password);但现在我不知道在何处以及如何设置调用服务的用户名/密码(而不是验证方法的用户名/密码)。
有没有人?求你了!
发布于 2013-10-07 10:27:02
您需要配置WS-安全用户名令牌(UNT)。
这是一篇很好的文章:UNT
https://stackoverflow.com/questions/19203320
复制相似问题