我们正在与之集成的供应商提供了一些 Web 服务功能......他们用 Java 开发了它,并且还给了我们一个示例客户端项目(Java),它显示了这些 Web 服务的使用情况。我们实际上想用 .NET 实现 Web 服务的消费/接口,但我们无法弄清楚安全性应该如何工作。
在他们的 Java 客户端示例中,他们似乎使用了一种叫做“Apache Rampart”的东西。他们的代码如下所示:
public static void initSecurityPolicy(ServiceClient client) throws Exception
{
Options options = client.getOptions();
options.setProperty(RampartMessageData.KEY_RAMPART_POLICY,
loadPolicy("policy.xml"));
options.setUserName(USERID);
options.setPassword(PASSWD);
options.setTimeOutInMilliSeconds(READTIMEOUT);
client.engageModule("rampart");
}
有人可以帮助我在.NET 世界中寻找我应该寻找的东西来做类似的事情吗?目前,在我的 .NET 项目中。我可以很好地使用他们的 WSDL,并且它生成的代理对象非常好,但是如果我尝试运行/调用任何函数,它会告诉我“缺少 SOAP 标头”,我相信它是安全的-有关的。
他们还为我提供了 policy.xml 文件。我是一个新手 .NET 程序员,我通常依赖 VStudio 生成的代理来处理任何与 WS 相关的编程,所以我不确定如何处理该 policy.xml 文件,也不知道他们所做的等效在 .NET 世界中的上述代码中。