Actual input signature does not match configured input signature-EJB Adapter

Hello Experts,

I am experiencing a problem related to EJB adapter.

We are testing the following two methods using EJB adapter in webMethods. Both methods are looking same except the parameter and return type, which is just a super-class type in case #2 of case #1.

Case #1. )
//WM to EJB Call (parameter and return type as Actual Object type ) → NOT WORKING…

public Customer testConnection2( final Customer customer ) throws Exception {
String str = “---------- TESTING CUSTOMER OBJECT----------”;
System.out.println("First Name : "+customer.getFName ());
System.out.println("Last Name : "+customer.getLName ());
System.out.println("Age : "+customer.getAge ());
System.out.println("Occupation : "+customer.getOccupation ());
customer.setStatus ( “VALID CUSTOMER…” );

return customer;
}

Case #2. )
//WM to EJB Call (parameter and return type as Object) → WORKING FINE…

public Object testConnection3( final Object object ) throws Exception {
String str = “---------- TESTING CUSTOMER OBJECT----------”;
Customer customer = (Customer) object;
System.out.println("First Name : "+customer.getFName ());
System.out.println("Last Name : "+customer.getLName ());
System.out.println("Age : "+customer.getAge ());
System.out.println("Occupation : "+customer.getOccupation ());
customer.setStatus ( “VALID CUSTOMER…” );

return customer;
}

We are creating a Customer object in a java service in the Developer and the code is :

// pipeline
Customer custObj = null;
try {
custObj = new Customer();
custObj.setFName ( “FName” );
custObj.setLName ( “LName” );
custObj.setAge ( 30 );
}
catch (Exception excp) {
throw new ServiceException(excp);
}
// pipeline
IDataCursor pipelineCursor = pipeline.getCursor();
IDataUtil.put( pipelineCursor, “custObj”, custObj );
pipelineCursor.destroy();

Now, using the EJB adapter, if we try to invoke the CASE #1, then we are getting the ‘argument mismatch’ error as below and the method is not invoking the EJB on app-server.

com.wm.app.b2b.server.ServiceException: [ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service VIMPoC.CustomerEJB:customerEJBTest2.
[ADA.640.5004] Actual input signature does not match configured input signature


But the CASE #2 is working perfectly fine.

Concern – Is this a webMethod limitation, and if we choose method like #1, it is throwing exception. According to standard J2EE/Java specification - both should work fine, since after all by default the super class is always Object for any java class.



Platform Configuration:

webMethods 7.1.2
EJB adapter :6.5.2
webSphere Application Server 6.1
Java version : SUN JAVA 1.5.0_15(49.0)


Please share any thoughts/solution on this issue.

Appreciate your help…
Surya