axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jose Antonio (JIRA)" <j...@apache.org>
Subject [jira] Created: (AXIS2-3184) Databinding cannot parse itself (Unexpected subelement)
Date Fri, 07 Sep 2007 11:55:31 GMT
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


Mime
View raw message