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

Reply via email to