[英]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. 我的问题如下。
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.