【问题标题】:Accessing .NET WebService secured by WS-Security via Java client通过 Java 客户端访问由 WS-Security 保护的 .NET WebService
【发布时间】:2014-10-21 09:32:14
【问题描述】:

我正在尝试从 Java 客户端(AXIS 1.6.2 和 Rampart)访问通过 WS-Security 保护的 .NET Web 服务。

客户端部分:

ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("client-repo", null);
AdminServiceStub stub = new AdminServiceStub(null,url);

WSDL (.NET WebService) 使用“sp:SecureConversationToken sp:IncludeToken”

<sp:SecureConversationToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">

调用 wsdl2java 生成的 AdminServiceStub 失败并出现 IllegalArgumentException

生成的存根:

(__operation).getMessage(org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_OUT_VALUE).getPolicySubject().attachPolicy(getPolicy("<wsp:Policy xmlns:wsp=\"http://schemas.xmlsoap.org/..."));

此生成的代码行失败:

java.lang.IllegalArgumentException: SecurityContextToken 不包含任何 sp:IncludeToken 属性

有人知道如何处理这个 sp:IncludeToken 吗?

【问题讨论】:

  • 您如何生成客户端代码。 Eclipse 还是通过命令行?

标签: java .net web-services ws-security rampart


【解决方案1】:

我使用 AXIS2 1.6.2 附带的 wsdl2java.bat

wsdl2java.bat -uri http://localhost/AdminService.svc?wsdl  -uw

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多