You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Jim Ma <ji...@iona.com> on 2006/12/05 04:58:30 UTC

issue in CXFServlet and EndpointImpl

Hi all ,

I just found we do not set the wsdl url for the ServiceFactoryBean in
CXFServlet . ServiceFactoryBean still get the wsdl location from the
annotaion by invoking JaxWsConfiguration .  When we deployed the war to
another machine ,  the service will fail to start  because  it can not find
the wsdl .

To fix this issue , I think we need to  add a method in EndpointImpl  to
create EndpointImpl with (bus, implementor , abstractWsServiceFactoryBean).

Thoughts ?

Regards

Jim



RE: issue in CXFServlet and EndpointImpl

Posted by Jim Ma <ji...@iona.com>.
Thank you , Dan.

It's definitely a convenient way to accommodate this case .  The
jaxwsConfiguration is for internally used and get the configuration info
from annotation .

IMO , ServiceFactory also needs a constructor to pass in the external
configuration  that we can override the WSDLUrl , executor,  wrappedStyle
and other stuff we want to override.

Regards

Jim


> -----Original Message-----
> From: Dan Diephouse [mailto:dan@envoisolutions.com]
> Sent: Wednesday, December 06, 2006 11:31 AM
> To: cxf-dev@incubator.apache.org
> Subject: Re: issue in CXFServlet and EndpointImpl
>
>
> Hi Jim,
> we *could* do that, but why? You just wnat to override the WSDL
> URL, right?
> This can currently be done by:
>
> serviceFactory = new JaxWsServiceFactory();
> serviceFactory.setWsdlUrl(new URL(...));
> ...
> new EndpointImpl(bus, object, serviceFactory);
>
> There should be no need to provide a custom service configuration. Why not
> add a more convenient constructor to accommodate this case?
>
> Regards,
> - Dan
>
> On 12/5/06, Jim Ma <ji...@iona.com> wrote:
> >
> > Hi Dan ,
> >
> > Can we pass the JaxwsConfiguration in the constructor:
> >
> > new EndpointImpl(bus, object, bindingUri, jaxWsConfiguration);
> >
> > and then we do :
> >
> > JaxWsServiceFactoryBean(implInfo, jaxWsConfiguration);
> >
> > or
> >
> > JaxWsServiceFactoryBean(implInfo)
> >
> > JaxWsServiceFactoryBean.setJaxwsConfiguration(jaxWsConfiguration);
> >
> > But setJaxWsconfiguration does not seems to work, It does not add the
> > jaxwsConfiguration to the configuration list  .
> >
> >
> > Regards
> >
> > Jim
> >
> > > -----Original Message-----
> > > From: Dan Diephouse [mailto:dan@envoisolutions.com]
> > > Sent: Tuesday, December 05, 2006 12:04 PM
> > > To: cxf-dev@incubator.apache.org
> > > Subject: Re: issue in CXFServlet and EndpointImpl
> > >
> > >
> > > We could add an additional constructor which passes in the WSDL:
> > >
> > > new EndpointImpl(bus, object, bindingUri, wsdlUrl);
> > >
> > > Internally this would just do:
> > >
> > > serverFactoryBean.getServiceFactory().setWsdlUrl(wsdlUrl);
> > >
> > > Regards,
> > > - Dan
> > >
> > > On 12/4/06, Jim Ma <ji...@iona.com> wrote:
> > > >
> > > > Hi all ,
> > > >
> > > > I just found we do not set the wsdl url for the
> ServiceFactoryBean in
> > > > CXFServlet . ServiceFactoryBean still get the wsdl location from the
> > > > annotaion by invoking JaxWsConfiguration .  When we deployed the war
> > to
> > > > another machine ,  the service will fail to start  because
> it can not
> > > > find
> > > > the wsdl .
> > > >
> > > > To fix this issue , I think we need to  add a method in
> > EndpointImpl  to
> > > > create EndpointImpl with (bus, implementor ,
> > > > abstractWsServiceFactoryBean).
> > > >
> > > > Thoughts ?
> > > >
> > > > Regards
> > > >
> > > > Jim
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Dan Diephouse
> > > Envoi Solutions
> > > http://envoisolutions.com | http://netzooid.com/blog
> > >
> >
> >
>
>
> --
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
>


Re: issue in CXFServlet and EndpointImpl

Posted by Dan Diephouse <da...@envoisolutions.com>.
Hi Jim,
we *could* do that, but why? You just wnat to override the WSDL URL, right?
This can currently be done by:

serviceFactory = new JaxWsServiceFactory();
serviceFactory.setWsdlUrl(new URL(...));
...
new EndpointImpl(bus, object, serviceFactory);

There should be no need to provide a custom service configuration. Why not
add a more convenient constructor to accommodate this case?

Regards,
- Dan

On 12/5/06, Jim Ma <ji...@iona.com> wrote:
>
> Hi Dan ,
>
> Can we pass the JaxwsConfiguration in the constructor:
>
> new EndpointImpl(bus, object, bindingUri, jaxWsConfiguration);
>
> and then we do :
>
> JaxWsServiceFactoryBean(implInfo, jaxWsConfiguration);
>
> or
>
> JaxWsServiceFactoryBean(implInfo)
>
> JaxWsServiceFactoryBean.setJaxwsConfiguration(jaxWsConfiguration);
>
> But setJaxWsconfiguration does not seems to work, It does not add the
> jaxwsConfiguration to the configuration list  .
>
>
> Regards
>
> Jim
>
> > -----Original Message-----
> > From: Dan Diephouse [mailto:dan@envoisolutions.com]
> > Sent: Tuesday, December 05, 2006 12:04 PM
> > To: cxf-dev@incubator.apache.org
> > Subject: Re: issue in CXFServlet and EndpointImpl
> >
> >
> > We could add an additional constructor which passes in the WSDL:
> >
> > new EndpointImpl(bus, object, bindingUri, wsdlUrl);
> >
> > Internally this would just do:
> >
> > serverFactoryBean.getServiceFactory().setWsdlUrl(wsdlUrl);
> >
> > Regards,
> > - Dan
> >
> > On 12/4/06, Jim Ma <ji...@iona.com> wrote:
> > >
> > > Hi all ,
> > >
> > > I just found we do not set the wsdl url for the ServiceFactoryBean in
> > > CXFServlet . ServiceFactoryBean still get the wsdl location from the
> > > annotaion by invoking JaxWsConfiguration .  When we deployed the war
> to
> > > another machine ,  the service will fail to start  because  it can not
> > > find
> > > the wsdl .
> > >
> > > To fix this issue , I think we need to  add a method in
> EndpointImpl  to
> > > create EndpointImpl with (bus, implementor ,
> > > abstractWsServiceFactoryBean).
> > >
> > > Thoughts ?
> > >
> > > Regards
> > >
> > > Jim
> > >
> > >
> > >
> >
> >
> > --
> > Dan Diephouse
> > Envoi Solutions
> > http://envoisolutions.com | http://netzooid.com/blog
> >
>
>


-- 
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog

RE: issue in CXFServlet and EndpointImpl

Posted by Jim Ma <ji...@iona.com>.
Hi Dan ,

Can we pass the JaxwsConfiguration in the constructor:

new EndpointImpl(bus, object, bindingUri, jaxWsConfiguration);

and then we do :

JaxWsServiceFactoryBean(implInfo, jaxWsConfiguration);

or

JaxWsServiceFactoryBean(implInfo)

JaxWsServiceFactoryBean.setJaxwsConfiguration(jaxWsConfiguration);

But setJaxWsconfiguration does not seems to work, It does not add the
jaxwsConfiguration to the configuration list  .


Regards

Jim

> -----Original Message-----
> From: Dan Diephouse [mailto:dan@envoisolutions.com]
> Sent: Tuesday, December 05, 2006 12:04 PM
> To: cxf-dev@incubator.apache.org
> Subject: Re: issue in CXFServlet and EndpointImpl
>
>
> We could add an additional constructor which passes in the WSDL:
>
> new EndpointImpl(bus, object, bindingUri, wsdlUrl);
>
> Internally this would just do:
>
> serverFactoryBean.getServiceFactory().setWsdlUrl(wsdlUrl);
>
> Regards,
> - Dan
>
> On 12/4/06, Jim Ma <ji...@iona.com> wrote:
> >
> > Hi all ,
> >
> > I just found we do not set the wsdl url for the ServiceFactoryBean in
> > CXFServlet . ServiceFactoryBean still get the wsdl location from the
> > annotaion by invoking JaxWsConfiguration .  When we deployed the war to
> > another machine ,  the service will fail to start  because  it can not
> > find
> > the wsdl .
> >
> > To fix this issue , I think we need to  add a method in EndpointImpl  to
> > create EndpointImpl with (bus, implementor ,
> > abstractWsServiceFactoryBean).
> >
> > Thoughts ?
> >
> > Regards
> >
> > Jim
> >
> >
> >
>
>
> --
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
>


Re: issue in CXFServlet and EndpointImpl

Posted by Dan Diephouse <da...@envoisolutions.com>.
We could add an additional constructor which passes in the WSDL:

new EndpointImpl(bus, object, bindingUri, wsdlUrl);

Internally this would just do:

serverFactoryBean.getServiceFactory().setWsdlUrl(wsdlUrl);

Regards,
- Dan

On 12/4/06, Jim Ma <ji...@iona.com> wrote:
>
> Hi all ,
>
> I just found we do not set the wsdl url for the ServiceFactoryBean in
> CXFServlet . ServiceFactoryBean still get the wsdl location from the
> annotaion by invoking JaxWsConfiguration .  When we deployed the war to
> another machine ,  the service will fail to start  because  it can not
> find
> the wsdl .
>
> To fix this issue , I think we need to  add a method in EndpointImpl  to
> create EndpointImpl with (bus, implementor ,
> abstractWsServiceFactoryBean).
>
> Thoughts ?
>
> Regards
>
> Jim
>
>
>


-- 
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog