I'm using a SOAP service written in WCF
for my Java application and one of my service has a parameter of type int[]
. When adding the service in Java, this int[]
is converted to a type known as ArrayOfInt
for serialization purposes. When I declare such type, it does not have any method to append to it. So, I tried to cast my List<Integer>
to that type using:
List<Integer> Items = new ArrayList();
//Appending some integers to the list and checking if it has values
// Then
com.microsoft.schemas._2003._10.serialization.arrays.ArrayOfint Ai = (com.microsoft.schemas._2003._10.serialization.arrays.ArrayOfint) Items;
org.datacontract.schemas._2004._07.inventorymanwcf.ArrayOfReceiptModel R = man.getBasicHttpBindingIManagement().sell(Ai, Login.Username);
Then the code caused an error :
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.microsoft.schemas._2003._10.serialization.arrays.ArrayOfint
My question is how handle that type, how to convert my list to an ArrayOfInt
?
If you refer to something like this it is obvious, that you cant create the array by itself. You could however override it: new ArrayOfint(){ @Override public List<Integer> getInt() { return Arrays.asList(insertIntarrayHere);
}}
or new ArrayOfint(){ @Override public List<Integer> getInt() { return insertListHere;
}}