Dear All,
I’m trying to pass an array to the stored procedure with signature.
The JDBC type of the input IN is “ARRAY”.
I have tried mapping the output of the adater service to the JDBC Array object and also tried passing the java array to this object, in both cases it gives
“[ADA.1.340] The input data for field “P_ARRAY” is not “java.sql.Array”.
com.wm.adk.cci.record.WmRecord”
PS: P_ARRAY is the parameter name for the JDBC ARRAY type.
I’m not sure how should the array type java.sql.Array be created to pass to this input ARRAY object for the stored procedure.
Integration Server : 6,5 SP2
IS_6-5_SP2_FlatFile_Fix1
IS_6-5_SP2_PubSub_Fix1
IS_6-5_SP2_SrvPrtcl_Fix2
IS_6-5_SP2_XA_Fix1
IS_6-5_SP2_WebSvcsXML_Fix1
IS_6-5_SP2_Core_Fix4
IS_6-5_SP2
JDBC Adapter: 6.5
Oracle: 10g
On searching wM advantage gave a single useful link
[URL]https://advantage.webmethods.com/advantage?targChanId=kb_home&oid=1614024800[/URL]
"<<stored procedures having arrays/struct/table as IN/OUT/IN OUT params are supported by StoredProcedureWithSignature template>>
<<Right now,the only way you can pass arrays/struct as IN params,is by using output fields of adapter services which are mapped to java.sql.Array”/ “java.sql.Struct.>>
So a few points:
- Stored Procedures are supported for use with *WithSignature services in oracle 10g.
- Arrays/Struct/Table as IN/OUT/IN OUT params is supported.
- However, you must map it from an output param of an adapter service to the input of another adapter service. You cannot simply map it from a “String List” to the input of an Array object on an adapter service.
- It is not even possible to create this in a java service. Even Execute Service (Java Service) template doesntt allow creation of ARRAY/STRUCT data types. This is because of Execute Service use the Proxy Connection and not the real Connection object. "
But doesnt seem to help me a lot.
Since this is a very urgent requirement, would anyone be able to help me in this?
Thanks !
–Manik
#webMethods#Adapters-and-E-Standards#Integration-Server-and-ESB