Arrays in java are named like [Ljava.lang.String; as a (new String[]).getClass()
printout could have told you.
           /jog
-----Original Message-----
From: Matthew Bateman [mailto:[EMAIL PROTECTED]
Sent: Friday, March 21, 2003 2:10 PM
To: [EMAIL PROTECTED]
Subject: primitive arrays with the java provider


I'm trying to use the WSIF java provider to call a java class that takes an array of 
ints (int[]).  However, I can't figure out how to specify that its an array of ints.  
The docs on the provider page say it has to be a primitive or a fully qualified java 
class.  So how is an array specified?  I have the xsd:schema element defining the 
array (it was generated by Axis).  I tried using elementName and typeName in the 
binding, neither worked.

I tried using "int" as the formatType.  This is the error I get:

org.apache.wsif.WSIFException: [EMAIL PROTECTED] : Could not invoke 'addArray'; nested 
exception is: 
            org.apache.wsif.WSIFException: No method named 'addArray' found that match 
the parts specified

It seems obvious because I assume WSIF is looking for addArray(int args), when its 
addArray(int[] args).

I tried using "int[]" as the formatType.  This is the error I get:

The meta information is not consistent.; nested exception is: 
            org.apache.wsif.WSIFException: Could not instantiate class 'int[]'; nested 
exception is: 
            java.lang.ClassNotFoundException: int[]
org.apache.wsif.WSIFException: Could not instantiate class 'int[]'; nested exception 
is: 
            java.lang.ClassNotFoundException: int[]
java.lang.ClassNotFoundException: int[]
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:190)
            at 
org.apache.wsif.providers.java.WSIFOperation_Java.getClassForName(Unknown Source)
            at 
org.apache.wsif.providers.java.WSIFOperation_Java.getMethodArgumentClasses(Unknown 
Source)
            at 
org.apache.wsif.providers.java.WSIFOperation_Java.getConstructors(Unknown Source)
            at org.apache.wsif.providers.java.WSIFOperation_Java.<init>(Unknown 
Source)
            at 
org.apache.wsif.providers.java.WSIFPort_Java.getDynamicWSIFOperation(Unknown Source)
            at org.apache.wsif.providers.java.WSIFPort_Java.createOperation(Unknown 
Source)
Which again seems obvious.

So how do I specifiy an array of ints?  (Or any array for that matter, I assume I 
would have the same problem with an array of String or something.)

Thanks in advance.

Reply via email to