Hi Douglas, Well yeah the fix is now available for this issue, In Tuscany we are now trying to support non-JAXB type using JAXB 2.0's XmlJavaTypeAdapter as mentioned in this article below.
http://weblogs.java.net/blog/kohsuke/archive/2005/09/using_jaxb_20s.html Also you can take a look at the JUnit test available in binding-ws-axis2 module.... http://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferService.java Please let me know, if you need more clarifications. On Mon, Mar 2, 2009 at 11:05 PM, Douglas Leite <[email protected]> wrote: > Hi Ramkumar, > > Did you find out something that can be done to workaround this issue? Could > be used other framework to marshall / unmarshall the data types? Would it > solve the problem? > > Regards > > > On Thu, Feb 5, 2009 at 10:26 AM, Ramkumar R <[email protected]> wrote: > >> Hi Douglas, >> >> As Scott mentioned, we depend on the JAXB runtime to marshal/demarshal the >> data types. I have also noticed this one while using the >> org.apache.axiom.om.OMElement as the data type with binding.ws as shown >> below. >> >> SEVERE: org.apache.tuscany.sca.databinding.TransformationException: >> org.apache.tuscany.sca.databinding.TransformationException: >> com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 6 counts of >> IllegalAnnotationExceptions >> 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 >> >> This issue is raised as TUSCANY-2664. Please add your issue as part of >> this JIRA OR you can also raise a seperate one. >> >> I am currently looking if we can have some workaround for this issue as >> this feature is very much required to support MTOM with binding.ws. > > >> >> On Wed, Feb 4, 2009 at 10:01 PM, Scott Kurz <[email protected]> wrote: >> >>> Douglas, >>> >>> Since our <binding.ws> impl uses JAXB by default to map from the XML >>> wireformat to the application Java, the JAXB runtime needs to be able to >>> deserialize into your input/output types. If the types don't contain JAXB >>> annotations, they need to follow the pattern that JAXB expects, i.e. they >>> must contain the no-arg default constructor. >>> >>> Also I'll mention that we follow the JAX-WS spec in order to map between >>> a Java exception and the platform-neutral fault data it carries. (See >>> "Business Exceptions/Faults" at >>> http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Databinding+Scope >>> for more info. >>> >>> It crossed my mind that maybe your interface is passing >>> java.lang.Exception as an input parameter because you weren't aware of how >>> to "throw" it across <binding.ws> .... or maybe you have a good reason >>> for doing so and it was just a useful example. >>> >>> Scott >>> >>> >>> >>> >>> On Wed, Feb 4, 2009 at 9:58 AM, Douglas Leite <[email protected]>wrote: >>> >>>> When I try to use the binding.ws over an interface that has an >>>> operation that takes a complex type with no-arg default constructor, in >>>> some >>>> part of the hierarchy, as argument, I get an error. >>>> >>>> More specifically I have something like this: >>>> * >>>> @Remotable >>>> public interface MyService { >>>> >>>> @OneWay >>>> public void throwsAnException(Exception ex); >>>> }* >>>> >>>> At the SCDL file: >>>> >>>> *<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" >>>> targetNamespace="http://myservice" >>>> name="myservice"> >>>> >>>> **<component name="MyServiceComponent"> >>>> * >>>> * >>>> **<implementation.java class="service.MyServiceImpl"/> >>>> * >>>> * >>>> ** <service name="MyService"> >>>> * >>>> * <interface.java >>>> interface="service.MyService"/> >>>> * >>>> * <binding.ws uri=" >>>> http://localhost:8086/MyServiceComponent" /> >>>> * >>>> * </service> >>>> * >>>> *</component> >>>> * >>>> *</composite>* >>>> >>>> I got the following error: >>>> >>>> SEVERE: Exception thrown was: org.osoa.sca.ServiceRuntimeException: >>>> com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of >>>> IllegalAnnotationExceptions >>>> java.lang.StackTraceElement does not have a no-arg default constructor. >>>> this problem is related to the following location: >>>> at java.lang.StackTraceElement >>>> at public java.lang.StackTraceElement[] >>>> java.lang.Throwable.getStackTrace() >>>> at java.lang.Throwable >>>> at java.lang.Exception >>>> >>>> Although the Exception an Throwable classes have no-arg default >>>> constructors, the StackTraceElement doesn't have. >>>> What can I do to avoid this problem? >>>> >>>> Thanks in advance, >>>> >>>> -- >>>> Douglas Siqueira Leite >>>> Computer Science Master's degree student of University of Campinas >>>> (Unicamp), Brazil >>>> >>>> >>> >> >> >> -- >> Thanks & Regards, >> Ramkumar Ramalingam >> > > > > -- > Douglas Siqueira Leite > Graduate student at University of Campinas (Unicamp), Brazil > > -- Thanks & Regards, Ramkumar Ramalingam
