Hi Raymond, 

I created an issue on JIRA and I really appreciate for you help!

One more question: why "databinding.dom" included in /core/databinding.scdl
is implemented using SimpleDataBinding instead of DOMDataBinding:

<component name="databinding.dom">
        <system:implementation.system
class="org.apache.tuscany.core.databinding.impl.SimpleDataBinding" />
        <property name="className">org.w3c.dom.Node</property>
</component>

If I want to use DOMDataBinding, I have to override the default definition?

Thanks!

Li 

> -----Original Message-----
> From: Raymond Feng [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, October 18, 2006 11:38 PM
> To: [email protected]
> Subject: Re: Question on JAXB data binding
> 
> Hi, Li.
> 
> Thank you for trying it out. Please see my comments below.
> 
> Raymond
> 
> ----- Original Message -----
> From: "Li Shen" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Tuesday, October 17, 2006 11:29 PM
> Subject: RE: Question on JAXB data binding
> 
> 
> > Hi Raymond, I added the annotation to an interface method like this:
> >
> > @DataType(name = "javax.xml.bind.JAXBElement", context = {
> > @DataContext(key
> > = "jaxb.contextPath", value = "foo.jaxb") })
> > void foo(FooType fooType);
> 
> Sounds good.
> 
> >
> > However, the NPE still occurred as before. Not sure whether I miss
> > anything,
> > but I don't figure out how you put the metadata defined in annotation
into
> > DataType, and it was still "null" through calling DataType.getMetaData()
> > in
> > JAXBContextHelper. I just saw the metadata was put into service contract
> > or
> > operation and I could print it out at runtime. Would you please clarify?
> >
> 
> I'll check the code. Is it possible that you open a JIRA and attach your
> test case there? I would be glad to make it work.
> 
> > In addition, I am curious about why the JAXB configuration should be
> > defined
> > using annotation while the SDO stuff is defined in SCDL? I feel they
could
> > both be global configuration in a composite? And specifying @DataContext
> > on
> > each individual interface or operation is an ugly work if they have the
> > same
> > set of packages?
> 
> It's work in progress. We're planning to have a consistent SCDL extensions
> at the assembly level to deal with databindings.
> 
> >
> > Also, could it be possible to do automatic detection for the
> > contextPath/classes? For example, when introspecting interface or
> > operation
> > annotated with JAXB DataType annotation, is it feasible to directly add
> > package names of the parameters and return value to contextPath if they
> > are
> > of complex types?
> 
> Good point. That was what I have been thinking of. We can try to use the
> physical type for the DataType as the JAXB class as the last resort. I'll
> add some code to do so and see how it goes. But please keep in mind,
> sometimes it's not possible to detect it if the parameter is directly
typed
> as a JAXB class.
> 
> >
> > Thanks!
> >
> > Li
> >
> >
> >
> >
> >> -----Original Message-----
> >> From: Raymond Feng [mailto:[EMAIL PROTECTED]
> >> Sent: Wednesday, October 18, 2006 7:40 AM
> >> To: [email protected]
> >> Subject: Re: Question on JAXB data binding
> >>
> >> Hi,
> >>
> >> When you annote the java interface with JAXB binding, you can set extra
> >> context as @DataContext(key="...", value="...").
> >>
> >> Can you give that a try?
> >>
> >> Thanks,
> >> Raymond
> >>
> >> ----- Original Message -----
> >> From: "Li Shen" <[EMAIL PROTECTED]>
> >> To: <[email protected]>
> >> Sent: Tuesday, October 17, 2006 12:06 AM
> >> Subject: Question on JAXB data binding
> >>
> >>
> >> > Hi Raymond,
> >> >
> >> > How can I specify the "contextPath" or "classes" when using JAXB data
> >> > binding in binding.ws? Without them NPE was thrown from the code
below
> >> > since
> >> > JAXBContext does not allow pass null to newInstance():
> >> >
> >> > String contextPath = (String)
> >> > bindingContext.getMetadata(JAXB_CONTEXT_PATH);
> >> > JAXBContext context = null;
> >> > if (contextPath != null)
> >> >    context = JAXBContext.newInstance(contextPath);
> >> > else {
> >> >    Class[] classes = (Class[])
> >> > bindingContext.getMetadata(JAXB_CLASSES);
> >> >    context = JAXBContext.newInstance(classes);
> >> > }
> >> >
> >> > In your test code, I saw you used this:
> >> >
> >> > targetDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH,
> >> > contextPath);
> >> >
> >> > But how can I configure it when using binding.ws? Or you can do
> > automatic
> >> > detection?
> >> >
> >> > Thanks!
> >> >
> >> > Li
> >> >
> >> >
> >> >
> >> >
> >> > ---------------------------------------------------------------------
> >> > 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]
> >
> 
> 
> ---------------------------------------------------------------------
> 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