22
|
Michael Sharek · 技术社区 · 16 年前 |
1
10
WS-Security规范通常不包含在WSDL中(从不包含在WSE WSDL中)。因此,wsdl2java不知道此服务甚至需要WS-Security。WSE WSDL中不存在安全约束这一事实令我非常失望(WCF将在WSDL中包含WS-Trust信息)。 在客户端,您需要使用 Rampart 将必要的WS-Security头添加到传出客户机消息中。由于WSDL不报告哪些WS-Security设置是必需的,所以最好向服务提供者询问需要什么。WS-Security要求可以是简单的纯文本密码,也可以是X509证书,或者是加密消息…..Rampart应该能够处理大多数这些场景。 ApacheRampart通过在axis2.xml文件中加入模块来“打开”。您需要下载Rampart模块并将其放在您的axis2目录中的特定位置,然后修改XML文件。您还可以通过编程方式启用Rampart(如果这是一项要求,请编辑您的原始问题,我将编辑此响应)。 根据您如何配置Rampart(通过其他XML文件或编程),它将截获任何传出消息并向其中添加必要的WS-Security信息。我个人使用了带有Rampart的Axis2来调用一个wse3服务,该服务使用明文形式的usernametoken进行安全保护,并且工作得很好。类似的,但更高级的场景也应该起作用。有关如何在上面链接的网站上设置和开始使用Rampart的详细信息。如果您对Rampart的细节或如何在特定的WSE设置中使用Rampart有问题,请编辑您的问题,我将尽力回答。 |
2
10
这似乎是一个很受欢迎的问题,所以我将概述一下我们在当前形势下所做的工作。 似乎.NET中内置的服务遵循的是旧的WS-Addressing标准( http://schemas.xmlsoap.org/ws/2004/03/addressing/ )而Axis2只理解较新的标准( http://schemas.xmlsoap.org/ws/2004/08/addressing/ ) 此外,提供的policychcache.config文件的格式是Axis2 Rampart模块无法理解的。 所以我们要做的步骤,简而言之:
最后,它是一个由供应商支持的开放标准的配置和代码。 虽然我不确定替代方案是什么……你能等供应商(或者在本例中,是唯一的供应商)来确保一切都能顺利进行吗? 作为后记,我要补充的是,我并没有最终完成这项工作,这是我团队中的另一个人,但我认为我得到了显著的细节。我正在考虑的另一个选择(在我的队友接手之前)是直接调用wss4jAPI来构造.NET服务所期望的SOAP信封。我想那也会奏效的。 |
3
3
@迈克 我最近做了一个测试,这是我使用的代码。 我没有使用策略工具,但是我使用了纯文本身份验证的WS-Security。 CXF有关于如何完成这些工作的非常好的文档。 我使用了wsdl2java,然后添加了这段代码来使用带有WS-Security的Web服务。 我希望这对你有帮助。
|
4
2
|
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |