Re: Compatibilité Generics Java / Web Services

Rémi Forax <[email protected]> Wed, 14 Sep 2011 14:50:51 +0200
Newsgroups gmane.comp.java.french.general
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------030103020705070001000007
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by mailhost.u-strasbg.fr id p8EDbnZS082105

On 09/14/2011 02:39 PM, Sylvain RICHET wrote:
> Bonjour =E0 Tous,
>
> Je voudrais utiliser des Generics dans des objets faisant partie des=20
> signatures de m=E9thodes de mes WS (sous Jonas 5.1.5, via JAX-WS / CXF).
> Mes WS sont impl=E9ment=E9s sous forme d'EJB 3.0 / JAX-WS.
>
> Pas de souci pour g=E9n=E9rer les classes clientes et server (via=20
> wsgen/wsimport).

Erreur classique, si je ne m'abuse,
cela veut dire que  DbiMusician ou une des classes r=E9f=E9renc=E9 dans l=
es=20
champs de DbiMusician
ne fait pas partie du sch=E9ma utilis=E9 par JAXB.

R=E9mi

>
> En revanche, au runtime, je me prends une erreur du genre :
>
>
>     2011-09-14 12:41:45,884 : LogUtils.log : Interceptor has thrown
>     exception, unwinding now
>         org.apache.cxf.interceptor.Fault: Marshalling Error: class
>     com.anaolabs.generics.model.DbiMusician nor any of its super class
>     is known to this context.
>                 at
>     org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.=
java:241)
>                 at
>     org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:63)
>                 at
>     org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeP=
arts(AbstractOutDatabindingInterceptor.java:102)
>                 at
>     org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOut=
Interceptor.java:68)
>                 at
>     org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterce=
ptorChain.java:226)
>                 at
>     org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(O=
utgoingChainInterceptor.java:74)
>                 at
>     org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterce=
ptorChain.java:226)
>                 at
>     org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainIni=
tiationObserver.java:88)
>                 at
>     org.ow2.jonas.ws.cxf.http.JOnASDestination.invoke(JOnASDestination.=
java:111)
>                 at
>     org.ow2.jonas.ws.cxf.jaxws.CXFWSEndpoint.invoke(CXFWSEndpoint.java:=
151)
>                 at
>     org.ow2.jonas.ws.jaxws.http.servlet.JAXWSServlet.invokeDestination(=
JAXWSServlet.java:113)
>                 at
>     org.ow2.jonas.ws.jaxws.http.servlet.JAXWSServlet.doPost(JAXWSServle=
t.java:75)
>                 at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>                 at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>                 at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ap=
plicationFilterChain.java:290)
>                 at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicatio=
nFilterChain.java:206)
>                 at
>     org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrappe=
rValve.java:233)
>                 at
>     org.apache.catalina.core.StandardContextValve.invoke(StandardContex=
tValve.java:191)
>                 at
>     org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve=
.java:127)
>                 at
>     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve=
.java:102)
>                 at
>     org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineV=
alve.java:109)
>                 at
>     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.j=
ava:340)
>                 at
>     org.apache.coyote.http11.Http11Processor.process(Http11Processor.ja=
va:857)
>                 at
>     org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.pro=
cess(Http11Protocol.java:588)
>                 at
>     org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:=
489)
>                 at java.lang.Thread.run(Thread.java:619)
>         Caused by: javax.xml.bind.MarshalException
>          - with linked exception:
>         [javax.xml.bind.JAXBException: class
>     com.anaolabs.generics.model.DbiMusician nor any of its super class
>     is known to this context.]
>                 at
>     com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.jav=
a:318)
>                 at
>     com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.j=
ava:244)
>                 at
>     javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarsh=
allerImpl.java:100)
>                 at
>     org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecod=
er.java:397)
>                 at
>     org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.=
java:219)
>                 ... 25 more
>         Caused by: javax.xml.bind.JAXBException: class
>     com.anaolabs.generics.model.DbiMusician nor any of its super class
>     is known to this context.
>                 at
>     com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer=
.java:246)
>                 at
>     com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer=
.java:261)
>                 at
>     com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSeriali=
zer.java:653)
>                 at
>     com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.seria=
lizeItem(ArrayElementNodeProperty.java:65)
>                 at
>     com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serialize=
ListBody(ArrayElementProperty.java:168)
>                 at
>     com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(=
ArrayERProperty.java:152)
>                 at
>     com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBe=
anInfoImpl.java:332)
>                 at
>     com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBe=
anInfoImpl.java:328)
>                 at
>     com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSeriali=
zer.java:699)
>                 at
>     com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(Ele=
mentBeanInfoImpl.java:152)
>                 at
>     com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(Ele=
mentBeanInfoImpl.java:189)
>                 at
>     com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(Eleme=
ntBeanInfoImpl.java:315)
>                 at
>     com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(Eleme=
ntBeanInfoImpl.java:322)
>                 at
>     com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(Eleme=
ntBeanInfoImpl.java:72)
>                 at
>     com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer=
.java:494)
>                 at
>     com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.jav=
a:315)
>                 ... 29 more
>         Caused by: javax.xml.bind.JAXBException: class
>     com.anaolabs.generics.model.DbiMusician nor any of its super class
>     is known to this context.
>                 at
>     com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContext=
Impl.java:590)
>                 at
>     com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSeriali=
zer.java:648)
>                 ... 42 more
>
>
> glurps !
>
> Il semblerait que JAXB (sous le capot de JAX-WS) ne marshalle pas=20
> correctement mes objets.
>
> Alors j'ai essay=E9 de jouer avec l'annotation JAXB *@XmlSeeAlso* (pour=
=20
> forcer JAXB =E0 binder mes classes),
> mais l=E0 bing ... c'est wsgen qui plante =E0 la g=E9n=E9ration de la=20
> plomberie WS !
>
>
> Cette probl=E8matique des Generics / WS a probablement =E9t=E9 d=E9j=E0=
 =E9voqu=E9e ?
>
> Si vous avez de l'info =E0 ce sujet, je suis preneur
> Merci d'avance
> :-)


--------------030103020705070001000007
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 09/14/2011 02:39 PM, Sylvain RICHET wrote:
    <blockquote
cite="mid:CAGn21GKGsfwLQezQtHGPwQ8mwO9yHQVc5eA9=O7nVxdnH1dgHQ@mail.gmail.com"
      type="cite">Bonjour &agrave; Tous,<br>
      <br>
      Je voudrais utiliser des Generics dans des objets faisant partie
      des signatures de m&eacute;thodes de mes WS (sous Jonas 5.1.5, via JAX-WS
      / CXF).<br>
      Mes WS sont impl&eacute;ment&eacute;s sous forme d'EJB 3.0 / JAX-WS.<br>
      <br>
      Pas de souci pour g&eacute;n&eacute;rer les classes clientes et server (via
      wsgen/wsimport).<br>
    </blockquote>
    <br>
    Erreur classique, si je ne m'abuse,<br>
    cela veut dire que&nbsp; DbiMusician ou une des classes r&eacute;f&eacute;renc&eacute; dans
    les champs de DbiMusician<br>
    ne fait pas partie du sch&eacute;ma utilis&eacute; par JAXB.<br>
    <br>
    R&eacute;mi<br>
    <br>
    <blockquote
cite="mid:CAGn21GKGsfwLQezQtHGPwQ8mwO9yHQVc5eA9=O7nVxdnH1dgHQ@mail.gmail.com"
      type="cite"><br>
      En revanche, au runtime, je me prends une erreur du genre :<br>
      <br>
      <br>
      <blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px
        solid rgb(204, 204, 204); padding-left: 1ex; font-family:
        courier new,monospace;" class="gmail_quote">
        2011-09-14 12:41:45,884 : LogUtils.log : Interceptor has thrown
        exception, unwinding now<br>
        &nbsp;&nbsp;&nbsp; org.apache.cxf.interceptor.Fault: Marshalling Error: class
        com.anaolabs.generics.model.DbiMusician nor any of its super
        class is known to this context.<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:241)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
        org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:63)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:102)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:226)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:226)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:88)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.ow2.jonas.ws.cxf.http.JOnASDestination.invoke(JOnASDestination.java:111)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
        org.ow2.jonas.ws.cxf.jaxws.CXFWSEndpoint.invoke(CXFWSEndpoint.java:151)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.ow2.jonas.ws.jaxws.http.servlet.JAXWSServlet.invokeDestination(JAXWSServlet.java:113)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.ow2.jonas.ws.jaxws.http.servlet.JAXWSServlet.doPost(JAXWSServlet.java:75)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
        javax.servlet.http.HttpServlet.service(HttpServlet.java:637)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.Thread.run(Thread.java:619)<br>
        &nbsp;&nbsp;&nbsp; Caused by: javax.xml.bind.MarshalException<br>
        &nbsp;&nbsp;&nbsp;&nbsp; - with linked exception:<br>
        &nbsp;&nbsp;&nbsp; [javax.xml.bind.JAXBException: class
        com.anaolabs.generics.model.DbiMusician nor any of its super
        class is known to this context.]<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:318)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:244)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:397)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:219)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 25 more<br>
        &nbsp;&nbsp;&nbsp; Caused by: javax.xml.bind.JAXBException: class
        com.anaolabs.generics.model.DbiMusician nor any of its super
        class is known to this context.<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:246)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:261)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:653)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:65)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:168)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:152)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:332)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:328)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:699)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:152)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:189)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:315)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:322)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:72)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:315)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 29 more<br>
        &nbsp;&nbsp;&nbsp; Caused by: javax.xml.bind.JAXBException: class
        com.anaolabs.generics.model.DbiMusician nor any of its super
        class is known to this context.<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:590)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:648)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 42 more<br>
      </blockquote>
      <div><br>
        glurps !<br>
        &nbsp;<br>
        Il semblerait que JAXB (sous le capot de JAX-WS) ne marshalle
        pas correctement mes objets.<br>
        <br>
        Alors j'ai essay&eacute; de jouer avec l'annotation JAXB <b>@XmlSeeAlso</b>
        (pour forcer JAXB &agrave; binder mes classes),<br>
        mais l&agrave; bing ... c'est wsgen qui plante &agrave; la g&eacute;n&eacute;ration de la
        plomberie WS !<br>
        <br>
        <br>
        Cette probl&egrave;matique des Generics / WS a probablement &eacute;t&eacute; d&eacute;j&agrave;
        &eacute;voqu&eacute;e ?<br>
        <br>
        Si vous avez de l'info &agrave; ce sujet, je suis preneur<br>
        Merci d'avance<br>
        :-)<br>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------030103020705070001000007--