AXIS2处理程序异常

时间:2013-12-22 14:50:16

标签: apache axis2

我创建了axis2处理程序“SimpleHandler”,并使用以下命令在OutFlow中注册:

 <phaseOrder type="OutFlow">
    <!--      user can add his own phases to this area  -->
<phase name="soapmonitorPhase"/>
    <phase name="OperationOutPhase"/>
    <!--system predefined phase-->
    <!--these phase will run irrespective of the service-->
    <phase name="PolicyDetermination"/>
    <phase name="MessageOut" >
             <handler name="digitalSign2"              class="com.asset.vsv.adapters.hlr.integration.SimpleHandler" > <order phase="PreDispatch"/>
            </handler>  
    </phase>
    <phase name="Security"/>
</phaseOrder>

但是此异常抛出

2013-12-22 16:39:22 ERROR ClientUtils:80 - The system cannot infer the transport information from the http://qq.qq.qq.qq:8084/hlr-sim/SPMLHlrSubscriber45Service URL.

org.apache.axis2.AxisFault:系统无法从http://qq.q.qq.qq:8084/hlr-sim/SPMLHlrSubscriber45Service网址推断传输信息。     at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:81)     at org.apache.axis2.client.OperationClient.prepareMessageContext(OperationClient.java:304)     在org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:180)     在org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)     在wsdl._5._4.hlr_subscriber.gw.prov.names.siemens.SPMLHlrSubscriber45ServiceStub.modify(SPMLHlrSubscriber45ServiceStub.java:806)     在test.Test.main(Test.java:53)

1 个答案:

答案 0 :(得分:0)

OutFlow中没有PreDispatch或Dispatch阶段,因为这是响应路径。所以你应该如下所示。

<phase name="MessageOut" >
             <handler name="digitalSign2"              class="com.asset.vsv.adapters.hlr.integration.SimpleHandler" > <order phase="MessageOut"/>
            </handler>