Thanks Martin. Actually, I'm using Eclipse with Axis2 Codegen plugins. When I created client using it, this is what it created as the stub: (I'm pasting only the operation "testLogin" implementation from the stub). Please let me know if you want me to post my WSDL.
/** * Auto generated method signature * * @see us.two.safe.login.LoginService#testLogin * @param testLoginType0 */ public us.two.safe.login.LoginServiceStub.TestLoginTypeResponse testLogin( us.two.safe.login.LoginServiceStub.TestLoginType testLoginType0) throws java.rmi.RemoteException { org.apache.axis2.context.MessageContext _messageContext = null; try{ org.apache.axis2.client.OperationClient _operationClient = _serviceClient.createClient(_operations[0].getName()); _operationClient.getOptions().setAction("\"\""); _operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true); addPropertyToOperationClient(_operationClient,org.apache.axis2.description.WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR,"&"); // create a message context _messageContext = new org.apache.axis2.context.MessageContext(); // create SOAP envelope with that payload org.apache.axiom.soap.SOAPEnvelope env = null; env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), testLoginType0, optimizeContent(new javax.xml.namespace.QName("urn:login.safe.two.us", "testLogin"))); //adding SOAP soap_headers _serviceClient.addHeadersToEnvelope(env); // set the message context with that soap envelope _messageContext.setEnvelope(env); // add the message contxt to the operation client _operationClient.addMessageContext(_messageContext); //execute the operation client _operationClient.execute(true); org.apache.axis2.context.MessageContext _returnMessageContext = _operationClient.getMessageContext( org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_IN_VALUE); org.apache.axiom.soap.SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope(); java.lang.Object object = fromOM(_returnEnv.getBody().getFirstElement() , two.safe.login.LoginServiceStub.TestLoginTypeResponse.class, getEnvelopeNamespaces(_returnEnv)); return (us.two.safe.login.LoginServiceStub.TestLoginTypeResponse)object; } catch(org.apache.axis2.AxisFault f){ org.apache.axiom.om.OMElement faultElt = f.getDetail(); if (faultElt!=null){ if (faultExceptionNameMap.containsKey(faultElt.getQName())){ //make the fault by reflection try{ java.lang.String exceptionClassName = (java.lang.String)faultExceptionClassNameMap.get(faultElt.getQName()); java.lang.Class exceptionClass = java.lang.Class.forName(exceptionClassName); java.lang.Exception ex= (java.lang.Exception) exceptionClass.newInstance(); //message class java.lang.String messageClassName = (java.lang.String)faultMessageMap.get(faultElt.getQName()); java.lang.Class messageClass = java.lang.Class.forName(messageClassName); java.lang.Object messageObject = fromOM(faultElt,messageClass,null); java.lang.reflect.Method m = exceptionClass.getMethod("setFaultMessage", new java.lang.Class[]{messageClass}); m.invoke(ex,new java.lang.Object[]{messageObject}); throw new java.rmi.RemoteException(ex.getMessage(), ex); }catch(java.lang.ClassCastException e){ // we cannot intantiate the class - throw the original Axis fault throw f; } catch (java.lang.ClassNotFoundException e) { // we cannot intantiate the class - throw the original Axis fault throw f; }catch (java.lang.NoSuchMethodException e) { // we cannot intantiate the class - throw the original Axis fault throw f; } catch (java.lang.reflect.InvocationTargetException e) { // we cannot intantiate the class - throw the original Axis fault throw f; } catch (java.lang.IllegalAccessException e) { // we cannot intantiate the class - throw the original Axis fault throw f; } catch (java.lang.InstantiationException e) { // we cannot intantiate the class - throw the original Axis fault throw f; } }else{ throw f; } }else{ throw f; } } finally { _messageContext.getTransportOut().getSender().cleanup(_messageContext); } } Thanks. mgainty wrote: > > > the answer is neither > > you'll need to construct a messageContext > fill it with the supplied OMElement parameter > create a client using the supplied operation parameter > add the messageContext to your just created client > then execute.. > e.g. > > /** > * Directly invoke a named operation with a Robust In-Only MEP. This > method > * just sends your supplied XML and possibly receives a fault. For > more > * control, you can instead create a client for the operation and use > that > * client to execute the send. > * > * @param operation name of operation to be invoked > (non-<code>null</code>) > * @param elem XML to send > * @throws AxisFault if something goes wrong while sending it or if a > fault is > * received in response (per the Robust In-Only > MEP). > * @see #createClient(QName) > */ > public void sendRobust(QName operation, OMElement elem) throws > AxisFault { > MessageContext mc = new MessageContext(); > fillSOAPEnvelope(mc, elem); > OperationClient mepClient = createClient(operation); > mepClient.addMessageContext(mc); > mepClient.execute(true); > } > > If you are unable to execute the client call we will need to see your wsdl > to assist you further > > Martin > ______________________________________________ > Disclaimer and confidentiality note > Everything in this e-mail and any attachments relates to the official > business of Sender. This transmission is of a confidential nature and > Sender does not endorse distribution to any party other than intended > recipient. Sender does not necessarily endorse content contained within > this transmission. > > >> Date: Fri, 19 Sep 2008 09:53:55 -0700 >> From: [EMAIL PROTECTED] >> To: axis-user@ws.apache.org >> Subject: Problem with Axis2 client and XFire service >> >> >> Hi, >> >> I created an Axis2 client for an XFire service. But something seems to be >> wrong. >> When I run the client this is what I get. >> >> org.apache.axis2.AxisFault: Parameter >> {urn:login.safe.two.us}TestLoginType >> does not exist! >> at >> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512) >> at >> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370) >> at >> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416) >> at >> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) >> at >> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) >> >> I debugged the client and found that the error occurs when this statement >> is >> executed in the stub: >> >> //execute the operation client >> _operationClient.execute(true); >> >> Can anyone let me know is it the client that is weird or the service? >> >> >> Thanks. >> -- >> View this message in context: >> http://www.nabble.com/Problem-with-Axis2-client-and-XFire-service-tp19575959p19575959.html >> Sent from the Axis - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > _________________________________________________________________ > Get more out of the Web. Learn 10 hidden secrets of Windows Live. > http://windowslive.com/connect/post/jamiethomson.spaces.live.com-Blog-cns!550F681DAD532637!5295.entry?ocid=TXT_TAGLM_WL_domore_092008 > -- View this message in context: http://www.nabble.com/Problem-with-Axis2-client-and-XFire-service-tp19575959p19607953.html Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]