简体   繁体   English

Axis2 Rampart客户端“安全命名空间为空”异常

[英]Axis2 Rampart client “Security Namespace null” exception

This is the exception that I am seeing when I try to consume a webservice. 这是我尝试使用Web服务时看到的异常。

java.lang.RuntimeException: Undefined 'Security policy namespace cannot be null.' resource property
at org.apache.rampart.RampartException.getMessage(RampartException.java:81)
at org.apache.rampart.RampartException.(RampartException.java:41)
at org.apache.rampart.RampartException.(RampartException.java:57)
at org.apache.rampart.RampartMessageData.setWSSecurityVersions(RampartMessageData.java:373)
at org.apache.rampart.RampartMessageData.(RampartMessageData.java:261)
at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:61)
at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:65)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:427)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at com.eloqua.secure.api.service.EloquaStub.retrieve(EloquaStub.java:2220)

This is how I am engaging rampart. 这就是我从事城墙的方式。

ConfigurationContext serviceContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem("/usr/axis2-1.6.0/repository", "/usr/axis2-1.6.0/conf/axis2.xml");
EloquaStub serviceStub = new EloquaStub(serviceContext, "<Link to the WSDL>");


ServiceClient client = serviceStub._getServiceClient();
client.engageModule("rampart");
Options options = client.getOptions();              
options.setUserName("<USERNAME>");
options.setPassword("**<PASSWORD>**");

RetrieveResponse retrieveResp = serviceStub.retrieve(retrieveData); //this where I am trying to consume to webservice.

I verified the path to axis2.xml and the repository. 我验证了axis2.xml和存储库的路径。 The following have been installed. 已安装以下内容。

rahas-1.6.0.mar
rampart-1.6.0.mar

The code can find the above two files along with other modules. 该代码可以找到上述两个文件以及其他模块。 The permissions are set correctly. 权限设置正确。 I know this because I do not see a "FileNotFound" exception. 我知道这是因为我没有看到“ FileNotFound”异常。

I have set AXIS2_HOME path in the environment. 我在环境中设置了AXIS2_HOME路径。

My questions are as follows. 我的问题如下。

  • What does the exception message mean? 异常消息是什么意思?
  • How to resolve this issue? 如何解决这个问题?

This error was because of classpath not being set correctly. 发生此错误是由于未正确设置类路径。 I had two folders with similar axis jars. 我有两个文件夹与类似的轴罐。 For some reason tomcat was in a weird state when this happen. 由于某种原因,tomcat在发生这种情况时处于怪异状态。 I removed the the second folder from the classpath and it resolved itself. 我从类路径中删除了第二个文件夹,它可以自行解决。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM