[jbossws-issues] [JBoss JIRA] Created: (JBWS-1318) JSR-181 array issue

Jason T. Greene (JIRA) jira-events at jboss.com
Fri Oct 27 16:23:41 EDT 2006


JSR-181 array issue
-------------------

                 Key: JBWS-1318
                 URL: http://jira.jboss.com/jira/browse/JBWS-1318
             Project: JBoss Web Services
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: jaxrpc
            Reporter: Jason T. Greene
             Fix For: jbossws-1.0.5


junit] java.rmi.RemoteException: Call invocation failed: Java type 'class com.siemens.ivon.soap.client.ServiceWSArray' is not assignable from: [Lcom.siemens.ivon.soap.client.ServiceWS;; nested exception is:
[junit] org.jboss.ws.WSException: Java type 'class com.siemens.ivon.soap.client.ServiceWSArray' is not assignable from: [Lcom.siemens.ivon.soap.client.ServiceWS;
[junit] at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:719)
[junit] at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:398)
[junit] at org.jboss.ws.jaxrpc.CallProxy.invoke(CallProxy.java:164)
[junit] at $Proxy1.getServiceInfos(Unknown Source)
[junit] at com.siemens.ivon.facade.soap.TestServiceSOAP.testGetServiceInfos(TestServiceSOAP.java:336)
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[junit] at java.lang.reflect.Method.invoke(Method.java:585)
[junit] at junit.framework.TestCase.runTest(TestCase.java:164)
[junit] at junit.framework.TestCase.runBare(TestCase.java:130)
[junit] at junit.framework.TestResult$1.protect(TestResult.java:110)
[junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
[junit] at junit.framework.TestResult.run(TestResult.java:113)
[junit] at junit.framework.TestCase.run(TestCase.java:120)
[junit] at junit.framework.TestSuite.runTest(TestSuite.java:228)
[junit] at junit.framework.TestSuite.run(TestSuite.java:223)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:289)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:656)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:558)
[junit] Caused by: org.jboss.ws.WSException: Java type 'class com.siemens.ivon.soap.client.ServiceWSArray' is not assignable from: [Lcom.siemens.ivon.soap.client.ServiceWS;
[junit] at org.jboss.ws.soap.SOAPContentElement.getObjectValue(SOAPContentElement.java:299)
[junit] at org.jboss.ws.binding.EndpointInvocation.transformPayloadValue(EndpointInvocation.java:233)
[junit] at org.jboss.ws.binding.EndpointInvocation.getReturnValue(EndpointInvocation.java:182)
[junit] at org.jboss.ws.jaxrpc.CallImpl.syncOutputParams(CallImpl.java:871)
[junit] at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:706)
[junit] ... 19 more 


public class ServiceWS {
private Long id;
private String name;

public Long getId(){ return this.id;}
public void setId(Long id) {this.id = id;}
public String getName(){return this.name;};
public void setName(String name){this.name=name;}
}

Then there is the ServiceWSArray class

public class ServiceWSArray {
private ServiceWS[] value;

public ServiceWSArray() {
}

public ServiceWS[] getValue() {
return this.value;
}

public void setValue(ServiceWS[] value) {
this.value = value;
}
}

And finally there is my webservice endpoint

@Stateless
@WebService(serviceName="MyWebService")
@SOAPBinding(style=Style.RPC,use=Use.LITERAL)
public class FacadeWS {

@WebMethod public ServiceWSArray getServiceInfos()
throws UnknownServiceProviderException {

if (this.logger.isTraceEnabled())
this.logger.trace("SOAP:getServiceInfos");

ServiceWS[] services = new ServiceWS[10];
for (int i=0;i<10;i++)
services = new ServiceWS.fromService();

ServiceWSArray result = new ServiceWSArray();
result.setValue(services);

return result;
}
}


On the junit client I create the port to this service and just call this

this.getPort().getServiceInfos(); 



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbossws-issues mailing list