I have an issue when SAP calls webMethods 6.5 passing an input parameter and expecting a table to be returned to SAP. The problem is, the table is not being returned (at least not completely - sometimes).
The service currently works in webMethods 4.6. The java class being returned is com.wm.data.BasicData.
If the webMethods 6.5 service just does a MAP step and hardcodes values for the output table, then the java class is set to wm.com.util.Values and the table is successfully passed back to SAP. Obviously, we can’t put that into Production!
If the webMethods 6.5 service is coded as required, the java class can be one of two classes: com.wm.data.ISMemDataImpl (when using a LOOP to create the output table) or com.wm.data.IData (when using a MAP after doing the LOOP, i.e. the MAP converts the com.wm.data.ISMemDataImpl to com.wm.data.IData).
When the java class is ISMemDataImpl, no data is returned in the SAP table.
When the java class is IData, all 20 records are returned but only the first field in each record of the table is populated (there are 4 fields in each record).
Since the SAP RFC worked when we hardcoded the output table (java class is Values), I also tried casting IData back to Values using com.wm.util.Values.use() - even though it is deprecated - but this also returned the first field in each record.
Any assistance would be appreciated.