Hi Douglas, I believe, the solution here for the *StackTracElement *class would be same as the sample* *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
To be more specific.... in your case you need to create a class that would extend the *StackTracElement and create an Adapter for the same. The ** @XmlJavaTypeAdpater* should be used in the service methods as what Adapter should be used to resolve the class. //This method uses an user defined interface MyException as parameter type. public String sendMyException(@XmlJavaTypeAdapter(MyExceptionAdapter.class) MyException attachment) throws Exception; Let me know, if you need more clarification. On Wed, May 20, 2009 at 6:29 PM, Douglas Leite <[email protected]> wrote: > Hi Ramkumar, > > The article shows that we need to create an adapter to the class that does > not have a no-arg default constructor, ie, create a class that extends * > XmlAdapter<>* and implement the inherited methods. Moreover, we need to > annotate the class that was adapted with *...@xmljavatypeadapter* annotation. > > However, the problem is that although the *Exception* an *Throwable*classes > have no-arg default constructors, the > *StackTraceElement* doesn't. So, I would need to create an adpater to * > StackTracElement* and annotate it with *...@xmljavatypeadpater*, what is not > possible. > > Is it right, or I am missing something? > > Regards > > > On Mon, Mar 2, 2009 at 3:16 PM, Ramkumar R <[email protected]> wrote: > >> 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 >> > > > > -- > Douglas Siqueira Leite > Graduate student at University of Campinas (Unicamp), Brazil > > -- Thanks & Regards, Ramkumar Ramalingam
