wsdl: doesn't describe pojos in xsd ----------------------------------- Key: XFIRE-739 URL: http://jira.codehaus.org/browse/XFIRE-739 Project: XFire Issue Type: Bug Components: Annotations, JAX-WS, JAXB 2.0 Affects Versions: 1.2.2 Environment: XP, jdk 1.5.0_02, tomcat 5.5.17, Spring 2 (but using 'old' schemas and not new aop support) Reporter: charllie hardt Assigned To: Dan Diephouse
Unable to use both jws and jaxb2 annotations to correctly generate wsdl. Different configurations result in different issues (explained in the below spring configuration snippet). I found a discussion between Dan Diephouse and Brice Ruth (http://www.mail-archive.com/user@xfire.codehaus.org/msg01030.html), that describes a problem I also encounter - although I could not find an issue capturing this. I am able (as described in the following configuration comments) to have the wsdl generated using jws annotations on the POJO service, but jaxb annotations on the entity classes are being ignored and thus are not reflected in the wsdl 'types'. Lastly - before appending the configuration snippet - I do want to thank the XFire contributors (like Dan) for their excellent software. <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /> <bean id="jsr181" class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations" /> <bean name="jaxbServiceFactory" class="org.codehaus.xfire.jaxb2.JaxbServiceFactory"> <constructor-arg ref="xfire.transportManager" /> </bean> <bean id="CodeLookupWebService" class="org.codehaus.xfire.spring.ServiceBean"> <property name="serviceBean" ref="codeLookupService" /> <property name="namespace" value="urn:com.sungardhe.common.services.codes" /> <!-- JAXB2 support isn't working correctly in the latest XFire 1.2.2 release. See the url below for discussion. I'm waiting for the actual jira issue number. http://www.mail-archive.com/user@xfire.codehaus.org/msg01030.html Note: If the serviceFactory property is ommitted, the wsdl is not correct (and the generated wsdl has content associated to other Spring-managed beans such as database access objects that are not relevant to the web service.) If the expected configuration (line below) is used, the types in the wsdl is incomplete - the entity (in this case 'Code') is not defined. <property name="serviceFactory" ref="jaxbServiceFactory" /> Using the following ('value' versus 'ref') results in the fun Spring TypeMismatchException. (...but one wouldn't expect this to be right anyway). <property name="serviceFactory" value="jaxbServiceFactory" /> The curious thing, however, is the following (non-commented out property) is 'almost working'. The wsdl is complete and usable. The only 'issue' is that the jaxb annotations on the entity (Code class) are being ignored. Other jws annotations are affecting the wsdl generation appropriately, and thus the wsdl is usable for internal development use. Other values (e.g., 'junk') do not work. I've looked at the xfire.xml (which has a commented out jsr181 bean) and some of the xfire code, but can't explain why this value jsr181 is providing 'some' benefit. I'm sure its something simple I'm missing ;-) --> <property name="serviceFactory" value="jsr181" /> </bean> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email