[jboss-user] [JBoss Web Services] New message: "ERROR: nor any of its super class is known to this context"
Christy Christy
do-not-reply at jboss.com
Mon Mar 15 04:53:35 EDT 2010
User development,
A new message was posted in the thread "ERROR: nor any of its super class is known to this context":
http://community.jboss.org/message/531932#531932
Author : Christy Christy
Profile : http://community.jboss.org/people/christy
Message:
--------------------------------------------------------------
Hi to everybody!
I have a problem. I have a simple web-service that takes Object type on entrance. But on the client side I need to pass an Array. And I can not do it, I have the error:
> javax.xml.ws.WebServiceException: javax.xml.bind.MarshalException
> - with linked exception:
> [javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.]
> at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:317)
> at com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:142)
> at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:108)
> at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:265)
> at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:144)
> at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:88)
> at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
> at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
> at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
> at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
> at com.sun.xml.ws.client.Stub.process(Stub.java:248)
> at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:134)
> at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:244)
> at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:224)
> at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:117)
> at $Proxy29.getFirstID(Unknown Source)
> at bus.client.TestWSBus.main(TestWSBus.java:48)
> 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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
> Caused by: javax.xml.bind.MarshalException
> - with linked exception:
> [javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.]
> at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:282)
> at com.sun.xml.bind.v2.runtime.BridgeImpl.marshal(BridgeImpl.java:100)
> at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:141)
> at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:310)
> ... 21 more
> Caused by: javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.
> at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
> at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
> at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:150)
> at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:322)
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
> at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:277)
> ... 24 more
> Caused by: javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.
> at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
> ... 28 more
>
Here is a simple web-service code:
> @WebService
> @SOAPBinding(style = SOAPBinding.Style.DOCUMENT)
> public class TestService {
> @WebMethod
> public String getFirstID(Object o){
> String res = "";
> List l = new ArrayList();
> l = (List)o;
> System.out.println("o = " + l.size());
> System.out.println("res = " + res);
> return res;
> }
> }
And this is a simple web-service client:
> TestServiceService testServiceService = new TestServiceService();
> TestService service = testServiceService.getTestServicePort();
> List l = new ArrayList();
> l.add(33);
> service.getFirstID(l);
Are there any solutions of this problem? Or I can not pass types that are not declared in web-service method interface?
Thank you!
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/531932#531932
More information about the jboss-user
mailing list