Confirmed as a bug and logged as: https://issues.apache.org/jira/browse/CXF-813 I'm testing a fix now.
Dan On Thursday 19 July 2007 04:49, Stuart Bingë wrote: > Hi Dan, > > On Wednesday 18 July 2007 23:10:46 Dan Diephouse wrote: > > Hi Stuart, > > Did you specify a @WebService(endpointInterface="...YourInterface") > > on the implementation class? You're using the JAX-WS frontend and > > per the JAX-WS spec, thats how its supposed to work :-) > > Yeah, I've got my implementation class pointing to the interface via > endpointInterface -- I pretty much copied and pasted the example from > that page, then tried to add a property to the implementation class. > Here's my current test code, if it helps: > > Interface: > @WebService(name = "HelloWorld") > @SOAPBinding(style=Style.RPC, use=Use.LITERAL) > public interface HelloWorld { > > String sayHi(@WebParam(name = "text") String text); > > } > > Implementation: > @WebService(endpointInterface = "showcase.cxf.HelloWorld") > public class HelloWorldImpl implements HelloWorld { > > private String prefix = "*** unspecified ***"; > > @Override > public String sayHi(@WebParam(name = "text") String text) > { > return prefix + text; > } > > @WebMethod(exclude = true) > public String getPrefix() > { > return prefix; > } > > @WebMethod(exclude = true) > public void setPrefix(String prefix) > { > this.prefix = prefix; > } > > } > > So essentially the problem is if you take out the "@WebMethod(exclude > = true)" on the getter and setter, they're included in the generated > WSDL as methods of the service :-/ > > > Cheers, > > - Dan > > > > On 7/18/07, Stuart Bingë <[EMAIL PROTECTED]> wrote: > > > Hello all, > > > > > > We've been using XFire (specifically its SOAP transport) together > > > with JSR-181 > > > annotations for some time now in our internal Spring-based web > > > services (hosted in Tomcat), and are now in the process of looking > > > to upgrade to CXF > > > as part of a general systems upgrade. The web services are > > > "java-first", where we code to a SEI and then rely on XFire to > > > generate the WSDL as appropriate. In addition, the SOAP binding > > > used is RPC/Literal for interoperability with PHP clients. > > > > > > After following the "Writing a service with Spring" article on the > > > CXF site > > > (http://cwiki.apache.org/CXF20DOC/writing-a-service-with-spring.ht > > >ml), as well as attempting the basic "HelloWorld" applet that the > > > article describes > > > (i.e. separate from our existing environment/services), I've > > > discovered some > > > strange behaviour that wasn't present with XFire. > > > > > > When exposing an endpoint via <jaxws:endpoint ... />, the > > > generated WSDL appears to be coming from the implementation class > > > rather than the service interface -- i.e. getters and setters for > > > implementation-specific properties > > > are included in the WSDL. > > > > Is this the expected behaviour with <jaxws:endpoint />? If so, what > > other > > > > > methods are available/recommended for exposing an endpoint via an > > > interface > > > rather than an implementation object? > > > > This can be solved with @WebMethod(ignore = true) annotations on the > > > > > implementation class, but obviously this isn't ideal and shouldn't > > > be needed > > > in the first place. We'd like to continue just exposing the > > > interface as the > > > service contract and then be able to implement the service in > > > whatever way we > > > deem fit. > > > > > > Any pointers would be greatly appreciated! > > > > > > Cheers, > > > -- > > > Stuart Bingë > > > > > > __________________________________________________________________ > > >____ > > > > > > "Complinet Ltd is registered in England. Registered office at > > > Vintners Place, 68 Upper Thames Street, London EC4V 3BJ. Company > > > number 3170722. VAT No. 749 324 021. > > > Complinet Inc is a corporation registered in Delaware, USA." > > > > > > This email has been scanned by the MessageLabs Email Security > > > System. > > ______________________________________________________________________ > > Complinet Ltd is registered in England. Registered office at Vintners > Place, 68 Upper Thames Street, London EC4V 3BJ. Company number > 3170722. VAT No. 749 324 021. Complinet Inc is a corporation > registered in Delaware, USA. > > This email has been scanned by the MessageLabs Email Security System. -- J. Daniel Kulp Principal Engineer IONA P: 781-902-8727 C: 508-380-7194 [EMAIL PROTECTED] http://www.dankulp.com/blog