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/[email protected]/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/[email protected]/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