Raymond,

Well, thanks but I still can't get my app to work (backporting your fix to
an older level in which the Axis2 binding still works).   I'm going to have
to put this on hold for now.

The o.a.t.databinding.sdo.XMLStreamReader2DataObject is hitting a
FeatureNotFoundException when trying to deserialize the XML into an SDO
representing my wrapped, child input element.

It seems the problem may occur during serialization.  When I invoke this
same service operation with the sdo2om stuff disabled, the two-hop path
involving DataObject2XMLStreamReader then XMLStreamReader2OMElement puts an
xsi:type  attribute in my serialized XML.  However, the one-hop
DataObject2OMElement transform does NOT include this xsi:type in the
OMElement's XML.

If that's enough for you to go on, great, but I imagine not so I'll have to
pick this up later at some point.   The EMF code which ultimately is
throwing this FeatureNotFoundException is pretty tough to debug into.

Thanks,
Scott





On 5/7/07, Raymond Feng <[EMAIL PROTECTED]> wrote:

Hi, Scott.

I think the issue is in the creation of SDODataSource. I checked in a fix
under 536028, please verify it fixes your problem.

Thanks,
Raymond

----- Original Message -----
From: "Scott Kurz" < [EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, May 07, 2007 9:10 AM
Subject: Re: SDO-Axiom DB problem: Element name from data source is
dataObject, not the expected...


> Well, I can state a bit more about the problem....
>
> First, I forgot the key part of the stack trace:
>
> OMSourcedElementImpl.forceExpand() line: 158
> OMSourcedElementImpl.setNamespace(OMNamespace) line: 454
> OMElementWrapperHandler.setChild(OMElement, int, ElementInfo, Object)
> line:
> 57
> OMElementWrapperHandler.setChild(Object, int, ElementInfo, Object) line:

> 39
> Output2OutputTransformer.transform(Object, TransformationContext) line:
> 148
>
> In building org.apache.tuscany.databinding.sdo2om.SDODataSource we do
> this:
>
>    public SDODataSource(DataObject obj, HelperContext helperContext) {
>        this.helperContext = helperContext;
>        this.sourceDocument =
>            helperContext.getXMLHelper().createDocument(obj,
>
> ROOT_ELEMENT.getNamespaceURI(),
>
> ROOT_ELEMENT.getLocalPart());
>    }
>
> So XMLStreamReader getReader() returns a reader then built from this
> ROOT_ELEMENT,  with QName {commonj.sdo}/DataObject
>
> However, the OMElementWrapperHandler code in the stack trace above makes

> an
> Axiom call with checks this QName against the QName of the specific
output
> element I'm working with.
>
> This does not match {commonj.sdo}/DataObject  hence my error message.
>
> I'm not sure why something like this doesn't happen in the databinding
> itests....  Is there an issue in the construction of SDODataSource
perhaps
> or should OMElementWrapperHandler be making a slightly different Axiom
> call?
>
> Scott
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to