amitabhtripathi 0 Newbie Poster

HI,

I’m getting the following messages when I run my java client which is invoking a WCF service.The service is converted to java stubs using axis2.
then when i run my client i get following messages.

Can anyone help me in finding the root of the problem.

log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AxisService).

log4j:WARN Please initialize the log4j system properly.

org.apache.axis2.AxisFault: Object reference not set to an instance of an object.

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)

at org.tempuri.CheckInServiceStub.CheckIn(CheckInServiceStub.java:183)

at stubInvoker.CheckInServiceClient.main(CheckInServiceClient.java:40)


The client is given below.

package stubInvoker;

 

import java.rmi.RemoteException;

 

import org.apache.axis2.AxisFault;

import org.tempuri.CheckInServiceStub;

 

 

public class CheckInServiceClient {

 

                public static void main(String []args){

                                    

                                try {

                                                

                                                //Instantiate the stub

                                                CheckInServiceStub checkin =new CheckInServiceStub();

                                                

                                                                                                

                                                CheckInServiceStub.CheckIn req=new CheckInServiceStub.CheckIn();

                                                //  set the "req" checkin object with the data

                                                req.setSessionId("Here SessionId");

                                                

                                                //create new entity obj

                                                CheckInServiceStub.NewEntityObject newObj = new    CheckInServiceStub.NewEntityObject();

            //assign property

                                //            newObj.setUUID(vctargs.elementAt(0).toString());

                                                //newObj.setEntityType(vctargs.elementAt(1).toString());

                                                //newObj.setMessage(vctargs.elementAt(2).toString());

                                                //newObj.setEntityName(vctargs.elementAt(3).toString());

                                                //assign props

                                                newObj.setUUID("e1");

                                                newObj.setEntityType("activity");

                                                newObj.setMessage("entity type is activity");

                                                newObj.setEntityName("Entity");

                                                req.setNewEntityObject(newObj);

                                                

                                                CheckInServiceStub.CheckInResponse resp=new CheckInServiceStub.CheckInResponse(); 

                                                //using the response object to retrieve the output

                                                

                                                resp=checkin.CheckIn(req);

                                                String[] result=resp.getCheckInResult().getString();

                                                //for(int i=0;i<result.length ;i++)

                                //            {

                                //              vctReturn.add(result[i]);

                                                //}

                                                 

                                } catch (AxisFault e) {

                                                // TODO Auto-generated catch block

                                                e.printStackTrace();

                                } catch (RemoteException e) {

                                                // TODO Auto-generated catch block

                                                e.printStackTrace();

                                } 

                                //return 

 

                }

}

 

 

 

The stub is given as follows .

 

 

/**

 * CheckInServiceStub.java

 *

 * This file was auto-generated from WSDL

 * by the Apache Axis2 version: 1.4  Built on : Apr 26, 2008 (06:24:30 EDT)

 */

        package org.tempuri;

 

        

 

        /*

        *  CheckInServiceStub java implementation

        */

 

        

        public class CheckInServiceStub extends org.apache.axis2.client.Stub

        {

        protected org.apache.axis2.description.AxisOperation[] _operations;

 

        //hashmaps to keep the fault mapping

        private java.util.HashMap faultExceptionNameMap = new java.util.HashMap();

        private java.util.HashMap faultExceptionClassNameMap = new java.util.HashMap();

        private java.util.HashMap faultMessageMap = new java.util.HashMap();

 

        private static int counter = 0;

 

        private static synchronized Object getUniqueSuffix(){

            // reset the counter if it is greater than 99999

            if (counter > 99999){

                counter = 0;

            }

            counter = counter + 1; 

            return Long.toString(System.currentTimeMillis()) + "_" + counter;

        }

 

    

    private void populateAxisService() throws org.apache.axis2.AxisFault {

 

     //creating the Service with a unique name

     _service = new org.apache.axis2.description.AxisService("CheckInService" + getUniqueSuffix());

     addAnonymousOperations();

 

        //creating the operations

        org.apache.axis2.description.AxisOperation __operation;

 

        _operations = new org.apache.axis2.description.AxisOperation[1];

        

                   __operation = new org.apache.axis2.description.OutInAxisOperation();

                

 

            __operation.setName(new javax.xml.namespace.QName("http://tempuri.org/", "CheckIn"));

                    _service.addOperation(__operation);

                    

 

                    

                    

            _operations[0]=__operation;

            

        

        }

 

    //populates the faults

    private void populateFaults(){

         

 

 

    }

 

    /**

      *Constructor that takes in a configContext

      */

 

    public CheckInServiceStub(org.apache.axis2.context.ConfigurationContext configurationContext,

       java.lang.String targetEndpoint)

       throws org.apache.axis2.AxisFault {

         this(configurationContext,targetEndpoint,false);

   }

 

 

   /**

     * Constructor that takes in a configContext  and useseperate listner

     */

   public CheckInServiceStub(org.apache.axis2.context.ConfigurationContext configurationContext,

        java.lang.String targetEndpoint, boolean useSeparateListener)

        throws org.apache.axis2.AxisFault {

         //To populate AxisService

         populateAxisService();

         populateFaults();

 
serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);

        

                

        configurationContext = _serviceClient.getServiceContext().getConfigurationContext();

 

        _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(

                targetEndpoint));

        _serviceClient.getOptions().setUseSeparateListener(useSeparateListener);

        

    

    }

 

    /**

     * Default Constructor

     */

    public CheckInServiceStub(org.apache.axis2.context.ConfigurationContext configurationContext) throws org.apache.axis2.AxisFault {

        

                    this(configurationContext,"http://hydhtc33007.ad.infosys.com/InfluxServices/InfluxCheckInService.svc" );

                

    }

 

    /**

     * Default Constructor

     */

    public CheckInServiceStub() throws org.apache.axis2.AxisFault {

        

                    this("http://hydhtc33007.ad.infosys.com/InfluxServices/InfluxCheckInService.svc" );

                

    }

 

    /**

     * Constructor taking the target endpoint

     */

    public CheckInServiceStub(java.lang.String targetEndpoint) throws org.apache.axis2.AxisFault {

        this(null,targetEndpoint);

    }

 

 

 

        

                    /**

                     * Auto generated method signature

                     * 

                     * @see org.tempuri.CheckInService#CheckIn

                     * @param checkIn0

                    

                     */

 

                    

 

                            public  org.tempuri.CheckInServiceStub.CheckInResponse CheckIn(

 

                            org.tempuri.CheckInServiceStub.CheckIn checkIn0)

                        

 

                    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("http://tempuri.org/ICheckInService/CheckIn");

              _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()),

                                                    checkIn0,

                                                    optimizeContent(new javax.xml.namespace.QName("http://tempuri.org/",

                                                    "CheckIn")));

                                                

        //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() ,

                                             org.tempuri.CheckInServiceStub.CheckInResponse.class,

                                              getEnvelopeNamespaces(_returnEnv));

 

                               

                                        return (org.tempuri.CheckInServiceStub.CheckInResponse)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);

            }

        }

            

                /**

                * Auto generated method signature for Asynchronous Invocations

                * 

                * @see org.tempuri.CheckInService#startCheckIn

                    * @param checkIn0

                

                */

                public  void startCheckIn(

 

                 org.tempuri.CheckInServiceStub.CheckIn checkIn0,

 

                  final org.tempuri.CheckInServiceCallbackHandler callback)

 

                throws java.rmi.RemoteException{

 

              org.apache.axis2.client.OperationClient _operationClient = _serviceClient.createClient(_operations[0].getName());

             _operationClient.getOptions().setAction("http://tempuri.org/ICheckInService/CheckIn");

             _operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

 

              

              

                  addPropertyToOperationClient(_operationClient,org.apache.axis2.description.WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR,"&");

              

 

 

              // create SOAP envelope with that payload

              org.apache.axiom.soap.SOAPEnvelope env=null;

              final org.apache.axis2.context.MessageContext _messageContext = new org.apache.axis2.context.MessageContext();

 

                    

                                    //Style is Doc.

                                    

                                                    

                                                    env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),

                                                    checkIn0,

                                                    optimizeContent(new javax.xml.namespace.QName("http://tempuri.org/",

                                                    "CheckIn")));

                                                

        // adding SOAP soap_headers

         _serviceClient.addHeadersToEnvelope(env);

        // create message context with that soap envelope

        _messageContext.setEnvelope(env);

 

        // add the message context to the operation client

        _operationClient.addMessageContext(_messageContext);

 

 

                    

                        _operationClient.setCallback(new org.apache.axis2.client.async.AxisCallback() {

                            public void onMessage(org.apache.axis2.context.MessageContext resultContext) {

                            try {

                                org.apache.axiom.soap.SOAPEnvelope resultEnv = resultContext.getEnvelope();

                                

                                        java.lang.Object object = fromOM(resultEnv.getBody().getFirstElement(),

                                                                         org.tempuri.CheckInServiceStub.CheckInResponse.class,

                                                                         getEnvelopeNamespaces(resultEnv));

                                        callback.receiveResultCheckIn(

                                        (org.tempuri.CheckInServiceStub.CheckInResponse)object);

                                        

                            } catch (org.apache.axis2.AxisFault e) {

                                callback.receiveErrorCheckIn(e);

                            }

                            }

 

                            public void onError(java.lang.Exception error) {

                                                                                                                                if (error instanceof org.apache.axis2.AxisFault) {

                                                                                                                                                org.apache.axis2.AxisFault f = (org.apache.axis2.AxisFault) error;

                                                                                                                                                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",
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.