You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by nicolas de loof <ni...@apache.org> on 2008/04/15 14:25:32 UTC

JAXBException: javax.xml.ws.Holder is not known to this context

Hello,

I just generated code from my WSDL using CXF maven2 plugin (2.0.5-incubator)

The generated service interface uses a Holder<String> argument as both
Request and Response message use the same argument.

When I try to invoke the service using "local://service" adress, I get a
serialization error :

javax.xml.bind.JAXBException: javax.xml.ws.Holder is not known to this
context
    at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:538)


As Holder is an jax-ws API class, I have no idea what I could have missed
...

please help ;-)

Nico.

Re: JAXBException: javax.xml.ws.Holder is not known to this context

Posted by nicolas de loof <ni...@apache.org>.
I've found my mistake : reading (
http://cwiki.apache.org/CXF20DOC/local-transport.html) I understood the
distinction between simple and Jax-WS frontends.

Replacing ServerFactoryBean with Endpoint.publish( "local://service",
getServiceBean() ); enables the Jax-WS stack and fix my issue.

Nico.


2008/4/15, nicolas de loof <ni...@apache.org>:
>
> First, setting the Holder argument to null makes my local://service call
> pass.
>
>      I get the message payload : <soap:Body><ns1:setPayment ...
>
> I then found in list archive a similar issue, with solution to use
> JaxWsProxyFactoryBean fior client.
>
> Using this, my Holder is serialized without issue, but the message is
> wrong :
>     <soap:Body><SetPayment  ...
>
> --> Notice the upperCase "S"
>
> This fails to deserialize :
>
> org.apache.cxf.interceptor.Fault: Message part {
> http://33J/services/ServicesCommande/schema}SetPayment<http://33J/services/ServicesCommande/schema%7DSetPayment>was not recognized.  (Does it exist in service WSDL?)
>
> Nico.
>
>
>
>
> 2008/4/15, nicolas de loof <ni...@apache.org>:
> >
> > Hello,
> >
> > I just generated code from my WSDL using CXF maven2 plugin
> > (2.0.5-incubator)
> >
> > The generated service interface uses a Holder<String> argument as both
> > Request and Response message use the same argument.
> >
> > When I try to invoke the service using "local://service" adress, I get a
> > serialization error :
> >
> > javax.xml.bind.JAXBException: javax.xml.ws.Holder is not known to this
> > context
> >     at
> > com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:538)
> >
> >
> > As Holder is an jax-ws API class, I have no idea what I could have
> > missed ...
> >
> > please help ;-)
> >
> > Nico.
> >
>
>

Re: JAXBException: javax.xml.ws.Holder is not known to this context

Posted by nicolas de loof <ni...@apache.org>.
First, setting the Holder argument to null makes my local://service call
pass.

     I get the message payload : <soap:Body><ns1:setPayment ...

I then found in list archive a similar issue, with solution to use
JaxWsProxyFactoryBean fior client.

Using this, my Holder is serialized without issue, but the message is wrong
:
    <soap:Body><SetPayment  ...

--> Notice the upperCase "S"

This fails to deserialize :

org.apache.cxf.interceptor.Fault: Message part {
http://33J/services/ServicesCommande/schema}SetPayment was not recognized.
(Does it exist in service WSDL?)

Nico.




2008/4/15, nicolas de loof <ni...@apache.org>:
>
> Hello,
>
> I just generated code from my WSDL using CXF maven2 plugin
> (2.0.5-incubator)
>
> The generated service interface uses a Holder<String> argument as both
> Request and Response message use the same argument.
>
> When I try to invoke the service using "local://service" adress, I get a
> serialization error :
>
> javax.xml.bind.JAXBException: javax.xml.ws.Holder is not known to this
> context
>     at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:538)
>
>
> As Holder is an jax-ws API class, I have no idea what I could have missed
> ...
>
> please help ;-)
>
> Nico.
>