You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Jose Antonio (JIRA)" <ji...@apache.org> on 2007/09/07 14:01:33 UTC
[jira] Commented: (AXIS2-3184) Databinding cannot parse itself
(Unexpected subelement)
[ https://issues.apache.org/jira/browse/AXIS2-3184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12525690 ]
Jose Antonio commented on AXIS2-3184:
-------------------------------------
I've attached a WSDL and XSD file of one of the specifications that I'm implementing. Generating a stub for the "context service" service and then trying to invoke it I get the following input SOAP message:
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns3:begin xmlns:ns3="http://docs.oasis-open.org/ws-caf/2005/10/wsctx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns3:begin">
<ns3:type>http://org.objectweb.wscaf.wsctx/contextType</ns3:type>
</ns3:begin>
</soapenv:Body>
</soapenv:Envelope>
Which is correct but in the server I get the following exception:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>
org.apache.axis2.databinding.ADBException: Unexpected
subelement begin
</faultstring>
<detail>
<Exception>
org.apache.axis2.AxisFault:
org.apache.axis2.databinding.ADBException:
Unexpected subelement begin at
org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
at
org.oasis.wscaf.middleware.wsctx.service.ContextServiceMessageReceiverInOut.fromOM(ContextServiceMessageReceiverInOut.java:407)
at
org.oasis.wscaf.middleware.wsctx.service.ContextServiceMessageReceiverInOut.invokeBusinessLogic(ContextServiceMessageReceiverInOut.java:43)
at
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)Caused by:
java.lang.Exception:
org.apache.axis2.databinding.ADBException:
Unexpected subelement begin at
org.oasis.wscaf.types.wsctx.Begin$Factory.parse(Begin.java:588)
at
org.oasis.wscaf.middleware.wsctx.service.ContextServiceMessageReceiverInOut.fromOM(ContextServiceMessageReceiverInOut.java:348)
... 20 moreCaused by:
org.apache.axis2.databinding.ADBException:
Unexpected subelement begin at
org.oasis.wscaf.types.wsctx.Begin$Factory.parse(Begin.java:559)
... 21 more
</Exception>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
> Databinding cannot parse itself (Unexpected subelement)
> -------------------------------------------------------
>
> Key: AXIS2-3184
> URL: https://issues.apache.org/jira/browse/AXIS2-3184
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: adb
> Affects Versions: 1.3
> Environment: JDK 1.5 and 1.6, Ubuntu Linux 7.04
> Reporter: Jose Antonio
>
> Hello, I'm developing a web service specification with Axis2 1.3 and
> I've generated the code using ADB. That specification has a type B
> that extends type A and in some circumstances I want to convert an
> object of type A to B so I did something like:
> elem = A.getContent().getOMElement(B.name,factory);
> B.parse(elem);
> But I got an exception saying:
> Unexpected subelement b
> where b B.name.localpart.
> To get it better, I have the following code:
> RegistrationContext ctx = new RegistrationContext();
> RegistrationContextType ctxContent = new RegistrationContextType();
> ContextIdentifierType ctxId = new ContextIdentifierType();
> ctxId.setAnyURI(new URI("http://adapt20/0"));
> ctxContent.setContextIdentifier(ctxId);
> ServiceRefType regSrvc = new ServiceRefType();
> regSrvc.setExtraElement(AddressingUtils.eprToOM(new
> EndpointReference("http://localhost/registration")));
> ctxContent.setRegistrationService(regSrvc );
> ctx.setRegistrationContext(ctxContent);
> OMElement regCtxElem = ctx.getOMElement(null, OMAbstractFactory.getOMFactory());
> System.out.println("Created registration context element:");
> System.out.println(regCtxElem.toString());
> RegistrationContext newRegCtx =
> RegistrationContext.Factory.parse(regCtxElem.getXMLStreamReader());
> So what I'm doing is basically creating an object of type B, getting
> an OMElement from it and then parsing it through B.Factory.parse
> method. It should work but I get the following exception:
> java.lang.Exception: org.apache.axis2.databinding.ADBException:
> Unexpected subelement registrationContext
> at org.oasis.wscaf.types.wscf.RegistrationContextType$Factory.parse(RegistrationContextType.java:1103)
> at org.oasis.wscaf.types.wscf.RegistrationContext$Factory.parse(RegistrationContext.java:307)
> at org.oasis.wscaf.tests.DatabindingTest.main(DatabindingTest.java:52)
> Caused by: org.apache.axis2.databinding.ADBException: Unexpected
> subelement registrationContext
> at org.oasis.wscaf.types.wscf.RegistrationContextType$Factory.parse(RegistrationContextType.java:907)
> ... 2 more
> Which is strange since registrationContext is the local name of
> RegistrationContext class.
> I cannot use the getPullParser method because of this bug:
> https://issues.apache.org/jira/browse/AXIS2-3028
> So I'm doing this through the getOMElement method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org