org.xml.sax.SAXException: Bad types (class [Ljava.lang.Object; -> class java.lang.String)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

org.xml.sax.SAXException: Bad types (class [Ljava.lang.Object; -> class java.lang.String)

Aravind_RP
hi everyone

i face this exception when i try to access the service using soap.my method basicsally takes 2 parameters and returns a map containing an object.

public static Map retriveCateogaryId(DispatchContext dctx,Map context)
        {
         
   
        System.out.println("am in the service");
        GenericDelegator delegator=dctx.getDelegator();
        productStoreId = (String) context.get("productStoreId");
         partyId=(String) context.get("partyId");
         System.out.println(productStoreId);
        storeCatalogs=catalog_Obj.getStoreCatalogs(delegator,productStoreId);
        partyCatalog=catalog_Obj.getPartyCatalogs(delegator,partyId);
        cateogaryIds=catalog_Obj.getCatalogIdsAvailable(partyCatalog, storeCatalogs);
        int length=cateogaryIds.size();
        System.out.println(length);
        for(int j=0;j<length;j++)
        {
        System.out.println("hai my size is"+cateogaryIds.get(j));
        string=string+cateogaryIds.get(j);
        }
        //result = UtilMisc.toMap("helloPersonIdOut", string);
        Object helloPersonId=(Object)cateogaryIds;
        result = UtilMisc.toMap("helloPersonIdOut", helloPersonId);
       
        return  result;


}  
and my client call is as follows


 Call call = (Call) new Service().createCall();
          call.setTargetEndpointAddress(new URL(endpoint));
               call.setOperationName(new QName("retriveCateogaryId", "retriveCateogaryId"));
                call.addParameter("productStoreId",
                          org.apache.axis.Constants.XSD_STRING,
                          javax.xml.rpc.ParameterMode.IN);
        call.addParameter("partyId",  org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);

        call.setReturnType(org.apache.axis.Constants.XSD_STRING);
       

               Object responseWS = call.invoke(new Object[]{productStoreIds,partyIds});
       
        System.out.println("hai am here");
        System.out.println( "Receiving response: " +   responseWS.toString());

Reply | Threaded
Open this post in threaded view
|

Re: Call.java:2469:ERROR] Exception:

Ray Barlow
You've put source detail in the posting but no real error detail such as
what is the exception and stack trace. All we can guess at is the
Call.java class, which is not part of OFBiz, has failed somehow?!

Unless you've got specific errors with OFBiz code it will be hard for
people on this list to offer help. In general terms you would do well to
test the service using an external tool like soapUI which you can easily
configure to call the service using the XML values so you can break down
the problem and test the components.

Ray


Aravind_RP wrote:

> hi everyone
>
> i face this exception when i try to access the service using soap.my method
> basicsally takes 2 parameters and returns a map containing an object.
>
> public static Map retriveCateogaryId(DispatchContext dctx,Map context)
> {
>  
>    
> System.out.println("am in the service");
> GenericDelegator delegator=dctx.getDelegator();
> productStoreId = (String) context.get("productStoreId");
> partyId=(String) context.get("partyId");
> System.out.println(productStoreId);
> storeCatalogs=catalog_Obj.getStoreCatalogs(delegator,productStoreId);
> partyCatalog=catalog_Obj.getPartyCatalogs(delegator,partyId);
> cateogaryIds=catalog_Obj.getCatalogIdsAvailable(partyCatalog,
> storeCatalogs);
> int length=cateogaryIds.size();
> System.out.println(length);
> for(int j=0;j<length;j++)
> {
> System.out.println("hai my size is"+cateogaryIds.get(j));
> string=string+cateogaryIds.get(j);
> }
> //result = UtilMisc.toMap("helloPersonIdOut", string);
> Object helloPersonId=(Object)cateogaryIds;
> result = UtilMisc.toMap("helloPersonIdOut", helloPersonId);
>
> return  result;
>
>
> }  
> and my client call is as follows
>
>
>  Call call = (Call) new Service().createCall();
>           call.setTargetEndpointAddress(new URL(endpoint));
>                call.setOperationName(new QName("retriveCateogaryId",
> "retriveCateogaryId"));
>                 call.addParameter("productStoreId",
>                           org.apache.axis.Constants.XSD_STRING,
>                           javax.xml.rpc.ParameterMode.IN);
>         call.addParameter("partyId",  org.apache.axis.Constants.XSD_STRING,
> javax.xml.rpc.ParameterMode.IN);
>
>         call.setReturnType(org.apache.axis.Constants.XSD_STRING);
>        
>
>                Object responseWS = call.invoke(new
> Object[]{productStoreIds,partyIds});
>        
>         System.out.println("hai am here");
>         System.out.println( "Receiving response: " +  
> responseWS.toString());
>
>
>  
Reply | Threaded
Open this post in threaded view
|

Re: Call.java:2469:ERROR] Exception:

Jacques Le Roux
Administrator
Hi Ray,

I did not know soapUI

Thanks

Jacques

From: "Ray Barlow" <[hidden email]>

> You've put source detail in the posting but no real error detail such as
> what is the exception and stack trace. All we can guess at is the
> Call.java class, which is not part of OFBiz, has failed somehow?!
>
> Unless you've got specific errors with OFBiz code it will be hard for
> people on this list to offer help. In general terms you would do well to
> test the service using an external tool like soapUI which you can easily
> configure to call the service using the XML values so you can break down
> the problem and test the components.
>
> Ray
>
>
> Aravind_RP wrote:
>> hi everyone
>>
>> i face this exception when i try to access the service using soap.my method
>> basicsally takes 2 parameters and returns a map containing an object.
>>
>> public static Map retriveCateogaryId(DispatchContext dctx,Map context)
>> {
>>  
>>    
>> System.out.println("am in the service");
>> GenericDelegator delegator=dctx.getDelegator();
>> productStoreId = (String) context.get("productStoreId");
>> partyId=(String) context.get("partyId");
>> System.out.println(productStoreId);
>> storeCatalogs=catalog_Obj.getStoreCatalogs(delegator,productStoreId);
>> partyCatalog=catalog_Obj.getPartyCatalogs(delegator,partyId);
>> cateogaryIds=catalog_Obj.getCatalogIdsAvailable(partyCatalog,
>> storeCatalogs);
>> int length=cateogaryIds.size();
>> System.out.println(length);
>> for(int j=0;j<length;j++)
>> {
>> System.out.println("hai my size is"+cateogaryIds.get(j));
>> string=string+cateogaryIds.get(j);
>> }
>> //result = UtilMisc.toMap("helloPersonIdOut", string);
>> Object helloPersonId=(Object)cateogaryIds;
>> result = UtilMisc.toMap("helloPersonIdOut", helloPersonId);
>>
>> return  result;
>>
>>
>> }  
>> and my client call is as follows
>>
>>
>>  Call call = (Call) new Service().createCall();
>>           call.setTargetEndpointAddress(new URL(endpoint));
>>                call.setOperationName(new QName("retriveCateogaryId",
>> "retriveCateogaryId"));
>>                 call.addParameter("productStoreId",
>>                           org.apache.axis.Constants.XSD_STRING,
>>                           javax.xml.rpc.ParameterMode.IN);
>>         call.addParameter("partyId",  org.apache.axis.Constants.XSD_STRING,
>> javax.xml.rpc.ParameterMode.IN);
>>
>>         call.setReturnType(org.apache.axis.Constants.XSD_STRING);
>>        
>>
>>                Object responseWS = call.invoke(new
>> Object[]{productStoreIds,partyIds});
>>        
>>         System.out.println("hai am here");
>>         System.out.println( "Receiving response: " +  
>> responseWS.toString());
>>
>>
>>  
>