There's a JIRA logged someplace about this:
http://issues.apache.org/jira/browse/CXF-940

I'd like to get it logged on client side, but fail on server side.   
That's a bit more complicated since the code in question is completely 
shared between the two and it really doesn't know what it's targetting.   

I suppose we could just log a warning.   If a service is created without 
a backing method and someone tries to invoke it, a fault would be 
raised. 

Dan



On Thursday 25 October 2007, Christian Vest Hansen wrote:
> I recall seing a stack trace like that, which prompted my query.
>
> But if it, in this particular use case, always works if the client
> refer directly to the ?wsdl from the online service, then it's just
> something to keep in mind when creating clients.
>
> However, this confuses me:
> > I think if you still use the old wsdl to create the service , the
> > client can still work.
>
> (...)
>
> > On the client side if I use the ?wsdl which is generated by CXF to
> > create the service ,
> > the client  can still work.
>
> This sounds contradictory to me, given that one of thos scenarios
> resulted in the stack trace you provided.
> Could you clarify?
>
> 2007/10/25, Willem Jiang <[EMAIL PROTECTED]>:
> > Hi Christian,
> >
> > I think if you still use the old wsdl to create the service , the
> > client can still work.
> >
> > I just did a quick test for your case by remove the WSDL2Java
> > generated SEI's method.
> > It can reproduce your case.
> > On the client side if I use the ?wsdl which is generated by CXF to
> > create the service ,
> > the client  can still work. But if I specified the orginal WSDL , I
> > got the below exception.
> >
> > Caused by:
> > org.apache.cxf.service.factory.ServiceConstructionException: Could
> > not find a matching method for operation
> > {http://apache.org/hello_world_soap_http}greetMeOneWay
> >     at
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initiali
> >zeWSDLOperations(ReflectionServiceFactoryBean.java:323) at
> > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLO
> >perations(JaxWsServiceFactoryBean.java:184) at
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildSer
> >viceFromWSDL(ReflectionServiceFactoryBean.java:214) at
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initiali
> >zeServiceModel(ReflectionServiceFactoryBean.java:269) at
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(R
> >eflectionServiceFactoryBean.java:146) at
> > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsSer
> >viceFactoryBean.java:91) at
> > org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(Abstr
> >actEndpointFactory.java:94) at
> > org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.j
> >ava:50) at
> > org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFac
> >toryBean.java:89) at
> > org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:372) at
> > org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:271)
> >
> > Any thoughts?
> >
> > Willem.
> >
> > Christian Vest Hansen wrote:
> > > If you generate a java client from a wsdl, and then add an
> > > operation to the wsdl but forget to update the client code - how
> > > does CXF handle that situation?
> > >
> > > Will the client crash or blissfully hum along (but withut being
> > > able to invoke the new operation)?
> > >
> > > I'm asking because it might influence decisions and policies one
> > > might define for managing change and backwards compatibility when
> > > working with CXF web services and clients.



-- 
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to