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 <dougsle...@gmail.com> 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
>
>

Reply via email to