[ https://issues.apache.org/jira/browse/AXIS2-3184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Deepal Jayasinghe updated AXIS2-3184: ------------------------------------- Assignee: Amila Chinthaka Suriarachchi > 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 > Assignee: Amila Chinthaka Suriarachchi > Attachments: Begin.java, wsctx-specification.zip > > > 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]