【问题】
在Platform7.2开发环境中,导入BPS发布的WebService服务wsdl,例如“http://127.0.0.1:8070/default/WSProcessInstManagerService?wsdl”,右键自动生成客户端代码,再调用客户端代码调用BPS的WebService接口
调用报错:
org.apache.axis2.AxisFault: WSDoAllReceiver: Incoming message does not contain required Security header
at org.apache.rampart.handler.WSDoAllReceiver.processBasic(WSDoAllReceiver.java:223)
at org.apache.rampart.handler.WSDoAllReceiver.processMessage(WSDoAllReceiver.java:86)
at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72)
at org.apache.axis2.engine.Phase.invoke(Phase.java:292)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:336)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at com.co.process.party.WSProcessInstManagerServiceServiceStub.createProcessInstance(WSProcessInstManagerServiceServiceStub.java:455)
at com.co.process.party.callWebService.invokeWebService(callWebService.java:35)
at com.co.process.party.coProcessMain_flow.invokePojo0(billProcessMain_flow.java:89)
at com.co.process.party.coProcessMain_flow._action0(billProcessMain_flow.java:188)
at com.co.process.party.coProcessMain_flow.process(billProcessMain_flow.java:217)
at com.primeton.engine.core.impl.process.PageflowInstance.process(PageflowInstance.java:325)
【解答】
在生成的代码调用前需要初始化一下应用环境
import org.apache.axis2.engine.ListenerManager;
ListenerManager.defaultConfigurationContext = null;