这是我在尝试使用 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)
这就是我参与壁垒的方式。
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.
我验证了axis2.xml 和存储库的路径。以下已安装。
rahas-1.6.0.mar
rampart-1.6.0.mar
该代码可以找到上述两个文件以及其他模块。权限设置正确。我知道这一点是因为我没有看到“FileNotFound”异常。
我已经在环境中设置了 AXIS2_HOME 路径。
我的问题如下。
- 异常消息是什么意思?
- 如何解决这个问题?