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

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


     [ http://jira.jboss.com/jira/browse/JBWS-1318?page=all ]

Jason T. Greene updated JBWS-1318:
----------------------------------

    JBoss Forum Reference: http://www.jboss.org/index.html?module=bb&op=viewtopic&t=93420

> 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