You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Ramkumar Ramalingam (JIRA)" <de...@tuscany.apache.org> on 2009/02/19 09:39:01 UTC

[jira] Resolved: (TUSCANY-2840) Issues in usage of @XmlJavaTypeAdapter annotation in service methods

     [ https://issues.apache.org/jira/browse/TUSCANY-2840?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ramkumar Ramalingam resolved TUSCANY-2840.
------------------------------------------

    Resolution: Fixed

Committed at revision 745778 and 745779 in 1.x

> Issues in usage of @XmlJavaTypeAdapter annotation in service methods
> --------------------------------------------------------------------
>
>                 Key: TUSCANY-2840
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2840
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Data Binding Runtime
>    Affects Versions: Java-SCA-Next
>         Environment: Windows XP, SP2, IBM JDK 1.5
>            Reporter: Ramkumar Ramalingam
>            Assignee: Ramkumar Ramalingam
>             Fix For: Java-SCA-Next
>
>         Attachments: TUSCANY-2840-Part1.patch, TUSCANY-2840-Part2.patch, TUSCANY-2840-Part3.patch
>
>
> Here I like to talk about the options to support org.apache.axiom.om.OMElement datatype in our databinding scope....
> Since OMElement is an interface, the JAXB runtime throws the following exception....
> org.apache.axiom.om.OMElement is an interface, and JAXB can't handle interfaces.
>     this problem is related to the following location:
>         at org.apache.axiom.om.OMElement
>         at protected org.apache.axiom.om.OMElement org.apache.tuscany.sca.binding.ws.axis2.itests.mtom.jaxws.UploadOMElementFile.arg0
>         at org.apache.tuscany.sca.binding.ws.axis2.itests.mtom.jaxws.UploadOMElementFile
> JAXB recommends to use an XMLAdapter to solve this issue, by creating an XMLAdapter for your interfaces (OMElement) and by using
> @XmlJavaTypeAdapter in the service method as shown below.
> @XmlJavaTypeAdapter(value=OMElementXmlAdapter.class, type=OMElement.class)
> public String uploadOMElementFile(OMElement attachment) throws Exception;
> Using @XmlJavaTypeAdapter in the service method, throws the following exception.....
> java.lang.IllegalArgumentException: value class org.apache.tuscany.sca.binding.ws.axis2.itests.mtom.OMElementXmlAdapter
>     at org.objectweb.asm.ClassWriter.a(Unknown Source)
>     at org.objectweb.asm.AnnotationWriter.visit(Unknown Source)
>     at org.apache.tuscany.sca.interfacedef.java.jaxws.BaseBeanGenerator.declareField(BaseBeanGenerator.java:250)
>     at org.apache.tuscany.sca.interfacedef.java.jaxws.BaseBeanGenerator.declareProperty(BaseBeanGenerator.java:195)
>     at org.apache.tuscany.sca.interfacedef.java.jaxws.BaseBeanGenerator.defineClass(BaseBeanGenerator.java:153)
>     at org.apache.tuscany.sca.interfacedef.java.jaxws.BaseBeanGenerator.generate(BaseBeanGenerator.java:437)
>     at org.apache.tuscany.sca.interfacedef.java.jaxws.WrapperBeanGenerator.generateResponseWrapper(WrapperBeanGenerator.java:190)
>     at org.apache.tuscany.sca.interfacedef.java.jaxws.GeneratedDataTypeImpl.getPhysical(GeneratedDataTypeImpl.java:101)
>     at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.findClasses(JAXBContextHelper.java:230)
>     at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.createJAXBContext(JAXBContextHelper.java:210)
>     at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.createJAXBContext(JAXBContextHelper.java:89)
>     at org.apache.tuscany.sca.databinding.jaxb.axiom.JAXB2OMElement.transform(JAXB2OMElement.java:52)
>     at org.apache.tuscany.sca.databinding.jaxb.axiom.JAXB2OMElement.transform(JAXB2OMElement.java:40)
>     at org.apache.tuscany.sca.databinding.DefaultTransformerExtensionPoint$LazyPullTransformer.transform(DefaultTransformerExtensionPoint.java:200)
>     at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:81)
>     at org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:190)
>     at org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:1)
>     at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:81)
>     at org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:208)
>     at org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:97)
>     at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:310)
>     at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:163)
>     at $Proxy19.uploadOMElementFile(Unknown Source)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.