- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几个小时以来,我一直在努力解决 Axis2 和 Rampart 的问题。我已经在谷歌上进行了广泛的搜索,但尚未找到解决方案。我什至查看了源代码并使用调试器单步调试它。尽管这让我了解了错误及其原因,但它并没有让我更接近解决方案。
发生的错误是
java.lang.IllegalArgumentException: {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}ProtectionToken is not a <wsp:Policy> element.
at org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:177)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:125)
at org.apache.neethi.PolicyEngine.getPolicy(PolicyEngine.java:102)
at org.apache.ws.secpolicy11.builders.SymmetricBindingBuilder.build(SymmetricBindingBuilder.java:41)
at org.apache.ws.secpolicy11.builders.SymmetricBindingBuilder.build(SymmetricBindingBuilder.java:36)
at org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:129)
at org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:110)
at org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:225)
at org.apache.neethi.PolicyBuilder.getAllOperator(PolicyBuilder.java:185)
at org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:218)
at org.apache.neethi.PolicyBuilder.getExactlyOneOperator(PolicyBuilder.java:181)
at org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:216)
at org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:175)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:114)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:100)
at org.apache.neethi.PolicyEngine.getPolicy(PolicyEngine.java:80)
at com.geometryit.blis.ablis.contentManagement.ContentManagementServiceStub.getPolicy(ContentManagementServiceStub.java:413)
at com.geometryit.blis.ablis.contentManagement.ContentManagementServiceStub.populateAxisService(ContentManagementServiceStub.java:57)
at com.geometryit.blis.ablis.contentManagement.ContentManagementServiceStub.<init>(ContentManagementServiceStub.java:108)
at com.geometryit.blis.ablis.contentManagement.ContentManagementServiceStub.<init>(ContentManagementServiceStub.java:97)
at com.geometryit.blis.production.Publish.init(Publish.java:214)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1133)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1087)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:996)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4834)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5155)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5150)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
虽然我以前使用过 Axis2,但我并不是这方面的专家,更不是 Rampart 方面的专家。我有一个现有的 Web 应用程序,它已被扩展以引入用于 Web 服务交互的客户端。我按照说明安装了 Axis2 v1.6.1 和 Rampart v1.6.1。我使用 WSDL2Java 脚本构建了客户端 Java 类,并将生成的类捆绑到一个 jar 中。然后,我将适当的 jar 和 Axis2 存储库添加到 Web 应用程序。 WSDL 和 XSD 包含在 http://mail-archives.apache.org/mod_mbox/axis-java-user/201112.mbox/%3C4B95BC7335A13A42AD0D23462F91AE6F615D057F41%40echo.geometryit.com%3E 的 wsdl.zip 附件中。(Axis2 用户邮件列表)附件位于页面底部。
初始化 Web 服务客户端的代码部分是
try
{
ConfigurationContext context = ConfigurationContextFactory.createConfigurationContextFromFileSystem(this.getWebInfPath() + "repository" );
**ablisContentManagementService = new ContentManagementServiceStub( context, "http://services.ablis.uat.business.gov.au/ContentManagement.svc" );
ServiceClient ablisContentManagementServiceClient = ablisContentManagementService._getServiceClient();
ablisContentManagementServiceClient.engageModule( "addressing" );
ablisContentManagementServiceClient.engageModule( "rampart" );
ablisAxisFault = null;
}
catch ( AxisFault af )
{
ablisContentManagementService = null;
ablisAxisFault = af;
af.printStackTrace();
}
catch ( Throwable t )
{
t.printStackTrace();
}
我知道 Rampart 未正确配置,但错误是在突出显示的行 (**) 处引发的。如果完成的话,这是在进行 Rampart 配置之前。
在调试中,我注意到 XML 作为 OMElement 实例传递给 SymmetricBindingBuilder.build() (请参阅堆栈跟踪)(为简洁起见,进行了删减)
<wsp:Policy>
<sp:ProtectionToken>
.
.
.
</sp:ProtectionToken>
.
.
.
</wsp:Policy>
从 SymmetricBindingBuilder.build() 中的代码来看,我认为 XML 应该是:
<sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:ProtectionToken>
.
.
.
</sp:ProtectionToken>
.
.
.
</wsp:Policy>
</sp:SymmetricBinding>
对传递的 XML 进行更改可以修复错误,但如何完成此操作。
为了简短起见,我的言论或行为可能有错误或遗漏。如果缺少重要细节,请突出显示这些细节。我熟悉 Axis2,但完全不熟悉 Rampart,因此非常感谢您的帮助。我很乐意回答问题。非常感谢任何帮助。
最佳答案
我猜您已经解决了这个问题。但对我来说,这是一个新鲜的、生硬的、发痒的伤口。经过几个小时的努力解决几乎完全相同的问题,我终于找到了解决方案。
在生成的客户端代码中,例如 ClientStub,有一个静态 getPolicy() 函数需要对此进行调整(调整空格以提高可读性):
private static org.apache.neethi.Policy getPolicy (java.lang.String policyString)
{
java.io.ByteArrayInputStream bais = new java.io.ByteArrayInputStream(policyString.getBytes());
return org.apache.neethi.PolicyEngine.getPolicy(bais);
}
对此:
private static org.apache.neethi.Policy getPolicy (java.lang.String policyString)
{
java.io.ByteArrayInputStream bais = new java.io.ByteArrayInputStream(policyString.getBytes());
try
{
StAXOMBuilder builder = new StAXOMBuilder(bais);
OMElement documentElement = builder.getDocumentElement();
return org.apache.neethi.PolicyEngine.getPolicy(documentElement);
}
catch (XMLStreamException e)
{
e.printStackTrace();
}
return null;
}
我在 this mail thread 中遇到了这个解决方案.
。托弗
关于java - 非法参数异常 : ProtectionToken is not a <wsp:Policy> element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8364193/
我无法理解 on-policy 方法(如 A3C )和 off-policy 方法(如 DDPG )之间的根本区别是什么。据我所知,无论行为策略如何,off-policy 方法都可以学习到最优策略。它
在我们的 ADX 集群中,表上没有分区策略和合并策略,但 adx 仍然创建范围。我很困惑它是如何工作的以及默认设置是什么。有谁知道这个吗? 此外,分区键的组合如何工作?例如我有 { "Partit
我最近在尝试本地上传图像时开始遇到此错误。不过,我以前不习惯收到错误。 S3 方面或代码方面没有任何变化。不过,上传在生产中仍然有效。我已经尝试了所有常见的方法,重新启动服务器,重新启动计算机,更改为
在 OPA 中,很清楚如何查询 condition AND condition : values := { "value1": { "a": "one" }, "value2":
我有一个自定义政策 // Policy: Management Group Level resource "azurerm_policy_definition" "only-deploy-in-eas
鉴于以下(为了论证而简化)docker-compose.yml文件: version: '3' services: postgres: image: fleetit-postgres
我是 OPA(开放策略代理)的新手,正在尝试使用 REST API/v1/policies/{id} 创建新策略。有用!但是,OPA 服务器将其保存到内存中,并且在重新启动后我的所有策略都被删除了。我
我想在 K8sPSPCapabilities 约束模板中将一个容器列入白名单,但我在使用 rego 语言时遇到了一些困难。我想禁止除特定容器之外的所有容器的 NET_RAW 功能。如果有人能指出我正确
S3 存储桶策略与其指定管理员的用户策略之间的关系是什么(或应该是什么)? 例如假设我新创建了一个存储桶: $ aws --profile admin --endpoint-url http://lo
我正在为我公司的网站添加 Content-Security-Policy-Report-Only 标题。在我研究它时,我发现一些页面已经设置了 Content-Security-Policy head
应Content-Security-Policy header 是在每个服务器响应(图像、CSS、JS 等)中还是仅在 text/html(PHP 脚本的 .html 或 HTML 输出)中? 最佳答
我的 https://my-site.com网站有一些类似下面的 html: 在控制台中,我得到这个错误: Refused to load media from 'blob:https://my-s
我收到这个错误,我不知道为什么,我包含的脚本有效? 并且错误仅在我加载子页面时出现。不是在我加载起始页时。 那么我做错了什么? The source list for Content Security
我想创建一个包含多个自定义 Azure 策略的 Azure 策略计划 我有以下自定义政策 # Azure Provider source and version being used terrafor
我们正在使用 Azure AD B2C(仍处于预览版)对我们的应用程序的客户进行身份验证。 我们将使用自定义 html 模板来实现登录体验和注册(使我们对 MS 内容之外的格式和链接拥有更多权力)。
我是 Istio 的新手。我正在使用 JWT 实现授权。有效的 JWT token 不会反射(reflect) DENY 操作。我添加了 JWT Payload and Authorization P
我想用 JUnit 和 Apache CXF 编写一个简单的集成测试来测试一些支持 WS-Security 的服务。当我尝试运行我的代码时: MyService myService = new myW
在 https://securityheaders.com 上测试我们的网站时,它表明我们缺少两个 header : 推荐人政策 功能政策 我们的站点是 Jira 8.3.1,它本身运行 Tomcat
我需要在数据类型“DateTime”的自定义策略中使用扩展属性。我将声明类型定义如下。 myAttrbute dateTime This is for
我的信任库中有服务器根证书,在设置 -Djavax.net.debug=all 后,我可以看到信任库已初始化并且受信任的证书在那里: trustStore is: test.truststore tr
我是一名优秀的程序员,十分优秀!