Hi, I'm running through the "Expose your Mgr as Web Service" tutorial and using the annotations as described, and also adding a line for PersonService to cxf-servlet.xml since I found that lying around and saw the entry for UserService in it. I'm getting a WSDL for my new PersonService but it's truncated, it looks like the classes weren't properly scanned or something, the WSLD looks like this:
<wsdl:definitions name="PersonManagerImplService" targetNamespace="http://impl.service.app.dcs.foo.com/"> <wsdl:portType name="PersonManagerImpl"> </wsdl:portType> <wsdl:binding name="PersonManagerImplServiceSoapBinding" type="tns:PersonManagerImpl"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> </wsdl:binding> <wsdl:service name="PersonManagerImplService"> <wsdl:port binding="tns:PersonManagerImplServiceSoapBinding" name="PersonManagerImplPort"> <soap:address location="http://localhost:8080/services/PersonService"/> </wsdl:port> </wsdl:service> </wsdl:definitions> I integrated CXF successfully via integrating mule with AppFuse in Decemeber 2009 and back then I had to add some additional annotations like these: @WebService public interface PersonManager extends GenericManager<Person, Long> { @WebResult(name="personsByLastName") List<Person> findByLastName(@WebParam(name="lastName") String lastName); } I tried doing that here though and it made no difference. The other thing that looks funny besides the massively truncated WSDL is the listing in the localhost:8080/services page. It lists my new PersonService but shows no operations, unlike the UserService. It also lists the PersonService as "PersonManagerImpl" instead of listing it as PersonService like with UserService in the left hand box and lists the WSDL URL using the PersonManagerImpl class as well... I have my personDao and personManager listed in applicationCOntext.xml like this: <bean id="personDao" class="com.foo.dcs.app.dao.hibernate.PersonDaoHibernate"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="personManager" class="com.foo.dcs.app.service.impl.PersonManagerImpl"> <constructor-arg ref="personDao"/> </bean> The output when I start the app under the jetty plugin looks the same as UserService, and the CXF config file is being loaded from WEB-INF: Aug 5, 2010 1:25:42 PM org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass INFO: Creating Service {http://impl.service.app.dcs.foo.com/}PersonManagerImplService from class com.foo.dcs.app.service.impl.PersonManagerImpl Aug 5, 2010 1:25:42 PM org.apache.cxf.endpoint.ServerImpl initDestination INFO: Setting the server's publish address to be /PersonService Something is not right here, but I have not figured out what it is. I still suspect that somehow the classes aren't being scanned properly or completely but I could be wrong. Any help would be appreciated, much thanks in advance... -=j=- -- View this message in context: http://appfuse.547863.n4.nabble.com/getting-truncated-WSDL-for-PersonService-under-CXF-tp2315829p2315829.html Sent from the AppFuse - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net For additional commands, e-mail: users-h...@appfuse.dev.java.net