Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.2.5
-
None
-
Moderate
Description
Hi I have configured one webservice using following xml configuration
<jaxws:endpoint address="/PersonService" implementor="#personServiceBean" id="personService">
<jaxws:schemaLocations >
<jaxws:schemaLocation>WEB-INF/classes/app/valueobjects/RequestResponse.xsd</jaxws:schemaLocation>
</jaxws:schemaLocations>
<jaxws:properties>
<entry key="schema-validation-enabled" value="true"/>
</jaxws:properties>
</jaxws:endpoint>
CXF generates WSDL at runtime but generateds WSDL looks like
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="PersonService" targetNamespace="http://www.webservice.com/ws" xmlns:ns1="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.webservice.com/ws" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.webservice.com/ws" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.webservice.com/ws">
<include schemaLocation="valueobjects.xsd" />
<complexType name="GetPersonDetails">
<sequence>
<element minOccurs="0" ref="tns:Person" />
</sequence>
</complexType>
<complexType name="GetPersonDetailsResponse">
<sequence>
<element minOccurs="0" ref="tns:Person" />
</sequence>
</complexType>
<element name="GetPersonDetails" nillable="true" type="tns:GetPersonDetails" />
<element name="GetPersonDetailsResponse" nillable="true" type="tns:GetPersonDetailsResponse" />
</schema>
</wsdl:types>
...........
The include element in schema doesn't contain entire path and hence the clients are not able to retrieve related elements.