Please see my comments inline.

Thanks,
Raymond

----- Original Message ----- From: "Scott Kurz" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Friday, January 18, 2008 3:47 PM
Subject: Re: [jira] Created: (TUSCANY-2002) SDO databinding doesn't have access to the SDO factories which are not referenced by an component service/reference interface


Raymond,

Can I ask a question about this?

For static SDOs (Ignoring the wrapper types which have this problem),
we're only registering the SDOs with the Composite HelperContext
during transformation, right?

Right. We create JAXBContext at transformation time based on the static SDO classes referenced by the java interfaces.


During introspection the SDODataBinding.introspect calls
TypeHelper.getType(Class) but that does not do a registration, right?

Right.

That's why we have the register's in SDOContextHelper
which the SDO-related transformers invoke at transform time.

And that's how for the past few months we avoided <import.sdo> for static SDO...

Is this right?

Yes.


Thanks,
Scott





On Jan 18, 2008 12:10 PM, Raymond Feng (JIRA) <tuscany-dev@ws.apache.org> wrote:
SDO databinding doesn't have access to the SDO factories which are not referenced by an component service/reference interface
-----------------------------------------------------------------------------------------------------------------------------

                 Key: TUSCANY-2002
                 URL: https://issues.apache.org/jira/browse/TUSCANY-2002
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Data Binding Runtime
    Affects Versions: Java-SCA-Next
            Reporter: Raymond Feng


In a doc-lit-wrapped WSDL (a.wsdl), we define the wrapper element (http://ns1) in the inline schema which imports other XSD types (http://ns2) from an XSD file (b.xsd), Running the SDO XSD2Java codegen on a.wsdl and b.xsd will generate two SDO factories, one for http://ns1 and one for http://ns2.

Now let's assume a java interface is used by the component, and it has the following method.

Quote getQuote(String symbol); // Quote is a generated SDO class/interface, getQuote and getQuoteResponse are the wrapper elements.

The SDO databinding gains access to the fatory for http://ns2 but not http://ns1 since the getQuote/getQuoteResponse is not referenced on this method. As a result, the SDO wrapping/unwrapping data transformation will be broken as the SDO factory for http://ns2 is not registered.

The workaround is to use import.sdo.

--
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]



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



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

Reply via email to