Hi David, I am new to Axis2. Can you tell how do i engage or disengage addressing module.
Thanks Shantanu On 4/17/07, David Illsley <[EMAIL PROTECTED]> wrote:
From a quick glance, I can't see you engaging the addressing module, I think, perhaps you should be. If you're not doing that, the error message sort of makes sense as there wouldn't be an action in the message. HTH, David On 16/04/07, shantanu chawla <[EMAIL PROTECTED]> wrote: > I am creating a client in java using axis2 1.1.1 to test > interoperability with WCF web services. My WCF web service is based on > wsHttpBinding. When I am trying to call its methods I am getting this > axis fault error. > > org.apache.axis2.AxisFault: The SOAP action specified on the message, > '', does not match the HTTP SOAP Action, > 'http://tempuri.org/IMyService/MyOperation1'. > > My wsdl is > > <?xml version="1.0" encoding="utf-8" ?> > <wsdl:definitions name="MyService" > targetNamespace="http://tempuri.org/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:tns="http://tempuri.org/" > xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" > xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" > xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" > xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" > xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" > xmlns:wsa10="http://www.w3.org/2005/08/addressing" > xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"> > <wsp:Policy wsu:Id="WSHttpBinding_IMyService_policy"> > <wsp:ExactlyOne> > <wsp:All> > <wsaw:UsingAddressing /> > </wsp:All> > </wsp:ExactlyOne> > </wsp:Policy> > <wsdl:types> > <xsd:schema targetNamespace="http://tempuri.org/Imports"> > <xsd:import schemaLocation="http://svr11.lab.interface.local/WCFService/Service.svc?xsd=xsd0" > namespace="http://tempuri.org/" /> > <xsd:import schemaLocation="http://svr11.lab.interface.local/WCFService/Service.svc?xsd=xsd1" > namespace="http://schemas.microsoft.com/2003/10/Serialization/" /> > <xsd:import schemaLocation="http://svr11.lab.interface.local/WCFService/Service.svc?xsd=xsd2" > namespace="http://schemas.datacontract.org/2004/07/" /> > </xsd:schema> > </wsdl:types> > <wsdl:message name="IMyService_MyOperation1_InputMessage"> > <wsdl:part name="parameters" element="tns:MyOperation1" /> > </wsdl:message> > <wsdl:message name="IMyService_MyOperation1_OutputMessage"> > <wsdl:part name="parameters" element="tns:MyOperation1Response" /> > </wsdl:message> > <wsdl:message name="IMyService_MyOperation2_InputMessage"> > <wsdl:part name="parameters" element="tns:MyOperation2" /> > </wsdl:message> > <wsdl:message name="IMyService_MyOperation2_OutputMessage"> > <wsdl:part name="parameters" element="tns:MyOperation2Response" /> > </wsdl:message> > <wsdl:portType name="IMyService"> > <wsdl:operation name="MyOperation1"> > <wsdl:input wsaw:Action="http://tempuri.org/IMyService/MyOperation1" > message="tns:IMyService_MyOperation1_InputMessage" /> > <wsdl:output wsaw:Action="http://tempuri.org/IMyService/MyOperation1Response" > message="tns:IMyService_MyOperation1_OutputMessage" /> > </wsdl:operation> > <wsdl:operation name="MyOperation2"> > <wsdl:input wsaw:Action="http://tempuri.org/IMyService/MyOperation2" > message="tns:IMyService_MyOperation2_InputMessage" /> > <wsdl:output wsaw:Action="http://tempuri.org/IMyService/MyOperation2Response" > message="tns:IMyService_MyOperation2_OutputMessage" /> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="WSHttpBinding_IMyService" type="tns:IMyService"> > <wsp:PolicyReference URI="#WSHttpBinding_IMyService_policy" /> > <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" /> > <wsdl:operation name="MyOperation1"> > <soap12:operation > soapAction="http://tempuri.org/IMyService/MyOperation1" > style="document" /> > <wsdl:input> > <soap12:body use="literal" /> > </wsdl:input> > <wsdl:output> > <soap12:body use="literal" /> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="MyOperation2"> > <soap12:operation > soapAction="http://tempuri.org/IMyService/MyOperation2" > style="document" /> > <wsdl:input> > <soap12:body use="literal" /> > </wsdl:input> > <wsdl:output> > <soap12:body use="literal" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="MyService"> > <wsdl:port name="WSHttpBinding_IMyService" > binding="tns:WSHttpBinding_IMyService"> > <soap12:address > location="http://svr11.lab.interface.local/WCFService/Service.svc" /> > <wsa10:EndpointReference> > <wsa10:Address>http://svr11.lab.interface.local/WCFService/Service.svc</wsa10:Address> > </wsa10:EndpointReference> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > and the java code of the stub generated by axis is > > public void startMyOperation1( > > org.tempuri.MyServiceStub.MyOperation1 param4, > > final org.tempuri.MyServiceCallbackHandler callback) > > throws java.rmi.RemoteException{ > > org.apache.axis2.client.OperationClient _operationClient > = _serviceClient.createClient(_operations[0].getName()); > _operationClient.getOptions().setAction("http://tempuri.org/IMyService/MyOperation1"); > _operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true); > > > > // create SOAP envelope with that payload > org.apache.axiom.soap.SOAPEnvelope env=null; > > //Style is Doc. > > > env = > toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), > param4, > > optimizeContent(new javax.xml.namespace.QName("", > "MyOperation1"))); > > //adding SOAP headers > _serviceClient.addHeadersToEnvelope(env); > // create message context with that soap envelope > org.apache.axis2.context.MessageContext _messageContext = new > org.apache.axis2.context.MessageContext() ; > _messageContext.setEnvelope(env); > > // add the message contxt to the operation client > _operationClient.addMessageContext(_messageContext); > > > > _operationClient.setCallback(new > org.apache.axis2.client.async.Callback() { > public void onComplete( > org.apache.axis2.client.async.AsyncResult result) { > java.lang.Object object = > fromOM(result.getResponseEnvelope().getBody().getFirstElement(), > > org.tempuri.MyServiceStub.MyOperation1Response.class, > > getEnvelopeNamespaces(result.getResponseEnvelope()) > ); > > callback.receiveResultMyOperation1((org.tempuri.MyServiceStub.MyOperation1Response) > object); > } > > public void onError(java.lang.Exception e) { > callback.receiveErrorMyOperation1(e); > } > }); > > > org.apache.axis2.util.CallbackReceiver _callbackReceiver = null; > if ( _operations[0].getMessageReceiver()==null && > _operationClient.getOptions().isUseSeparateListener()) { > _callbackReceiver = new org.apache.axis2.util.CallbackReceiver(); > _operations[0].setMessageReceiver( > _callbackReceiver); > } > > //execute the operation client > _operationClient.execute(false); > > } > > clearly it is sending SOAP Action which is matching with SOAP action > in the wsdl for the method. > > Can any one help on this issue? > > Thanks > > Shantanu > > -- > Graduate Student > Department of Computer Science, > San Diego State University > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- David Illsley - IBM Web Services Development --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Graduate Student Department of Computer Science, San Diego State University --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
