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]

Reply via email to