2016-04-27 1 views
1

J'ai fait beaucoup de recherches concernées par ma question, comme Axis2 WebService Client: The given SOAPAction does not match an operation, et Apache CXF - The given SOAPAction does not match an operation.AxisFault: L'urne SOAPAction donnée: anonOutInOp ne correspond pas à une opération

Je suis tout à fait nouvelle à la technologie webservice, ok, voici le datail: Launch Webservice Interface with CXF Framework, And We wrote client code with Axis2 Framework, comme ci-dessous:

try { 
     RPCServiceClient client = new RPCServiceClient(); 
     Options options = client.getOptions(); 
     String address = "http://ip:port/yaoxie/service/orderInfoBean?wsdl"; 
     EndpointReference epf = new EndpointReference(address); 
     options.setTo(epf); 
     QName qname = new QName("http://spring.orderInfo/", "debitOrder"); 
     String par = "<orgs>test</orgs>"; 
     System.out.println("start to call"); 
     Object[] result = client.invokeBlocking(qname, new Object[] { par }, new Class[] { String.class }); 
     System.out.println("finished"); 
     System.out.println(result[0]); 
    } catch (AxisFault e) { 
     e.printStackTrace(); 
    } 

Et voici l'info description WSDL: WSDL info

Je suis arrivé cette erreur:

org.apache.axis2.AxisFault: The given SOAPAction urn:anonOutInOp does not match an operation. 
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:435) 
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:371) 
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417) 
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) 
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 
at com.triffic.Axis2Demo.Axis2DemoTest.testClient(Axis2DemoTest.java:49) 
at com.triffic.Axis2Demo.Axis2DemoTest.main(Axis2DemoTest.java:82) 

Que dois-je faire, toute aide sera appréciée.

Répondre

0

Essayez

options.setAction("OperationName") 

Vous devriez être en mesure d'obtenir operationName en regardant dans le fichier wsdl