I just committed a fix for this on trunk. It logs a warning for each unavailable operation, then removes the operations from the ServiceModel so they won't be invokable.
Dan On Monday 29 October 2007, Daniel Kulp wrote: > 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.initia > > >li zeWSDLOperations(ReflectionServiceFactoryBean.java:323) at > > > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSD > > >LO perations(JaxWsServiceFactoryBean.java:184) at > > > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildS > > >er viceFromWSDL(ReflectionServiceFactoryBean.java:214) at > > > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initia > > >li zeServiceModel(ReflectionServiceFactoryBean.java:269) at > > > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create > > >(R eflectionServiceFactoryBean.java:146) at > > > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsS > > >er viceFactoryBean.java:91) at > > > org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(Abs > > >tr actEndpointFactory.java:94) at > > > org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean > > >.j ava:50) at > > > org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyF > > >ac 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