|
|
|
Ralf,
I have unit tests which test submission of a string[] array. But I'll check into it. And just an FYI - I worked on this for about an 45 mins last night with no solution :-\. I'll take another stab this weekend. here is the submitted request
<?xml version="1.0" encoding="UTF-8"?> Ralf, I put the makeArray method in ArrayType because I think thats where it belongs. I also took out the check for String.class because a String is an Object, unlike the primitives (int, float, etc) - so the Array.newInstance() should work just fine with it.
I'm still confused at what is going on in the casting method, so I haven't included it. Also, I just created a concat service and it worked just fine. Can you maybe checkout and try again? My TestCase: import org.codehaus.xfire.aegis.AbstractXFireAegisTest; /**
public void setUp() public void testInvoke() Client client = new Client(transport, clientService, channel.getUri()); OperationInfo op = clientService.getServiceInfo().getOperation("concat"); String resString = (String) response[0]; public class ConcatService } Dan, i grabbed your changes and my test cases works like with my solution.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
6374503 [http-8080-Processor24] DEBUG org.codehaus.xfire.exchange.RobustInOutExchange - Fault occurred.
org.codehaus.xfire.fault.XFireFault: Illegal argument.
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.xfire.service.binding.ObjectInvoker.invoke(ObjectInvoker.java:65)
at org.codehaus.xfire.service.binding.AbstractBinding.invoke(AbstractBinding.java:58)
at org.codehaus.xfire.exchange.RobustInOutExchange.doExchange(RobustInOutExchange.java:89)
at org.codehaus.xfire.transport.SoapServiceEndpoint.onReceive(SoapServiceEndpoint.java:70)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:39)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:232)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:119)
at org.codehaus.xfire.transport.http.XFireServlet.doGet(XFireServlet.java:63)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:73)
with service method :public String concat(String[] array)