[ https://issues.apache.org/jira/browse/TUSCANY-2840?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ramkumar Ramalingam updated TUSCANY-2840: ----------------------------------------- Attachment: TUSCANY-2840-Part3.patch > 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.