cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dipti Vaidya (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-2776) Support for Flatten or In-lined serving WSDL
Date Wed, 19 Jan 2011 01:19:44 GMT

    [ https://issues.apache.org/jira/browse/CXF-2776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12983479#action_12983479
] 

Dipti Vaidya commented on CXF-2776:
-----------------------------------

It would be nice if the inlined XSD contained the xs:annotation also

> Support for Flatten or In-lined serving WSDL
> --------------------------------------------
>
>                 Key: CXF-2776
>                 URL: https://issues.apache.org/jira/browse/CXF-2776
>             Project: CXF
>          Issue Type: New Feature
>    Affects Versions: 2.2.7, 2.2.8, 2.3.0
>         Environment: Any
>            Reporter: Tejash Shah
>
> We are looking for option using which serving WSDL can shown as in-lined or flatten.
e.g
> I have schema as follows:
> customer.xsd
> ------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/customer"
> 	xmlns:tns="http://www.example.org/customer" elementFormDefault="qualified">
>     <complexType name="customer">
>     	<sequence>
>     		<element name="name" type="string"></element>
>     		<element name="id" type="string"></element>
>     		<element name="contact" type="string"></element>
>     	</sequence>
>     </complexType>
> </schema>
> -------------------
> And the WSDL content is as follows:
> -------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> 	xmlns:tns="urn:CustomerService/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CustomerService"
> 	targetNamespace="urn:CustomerService/">
> 	<wsdl:types>
> 		<xsd:schema targetNamespace="urn:CustomerService/"
> 			xmlns:pref="http://www.example.org/customer">
> 			<xsd:import schemaLocation="customer.xsd"
> 				namespace="http://www.example.org/customer"></xsd:import>
> 			<xsd:element name="addCustomerReqEl" type="pref:customer"></xsd:element>
> 			<xsd:element name="addCustomerRespEl" type="tns:CustomerRespType">
> 			</xsd:element>
> 			<xsd:complexType name="CustomerRespType">
> 				<xsd:sequence>
> 					<xsd:element name="customer" type="pref:customer"></xsd:element>
> 					<xsd:element name="status" type="xsd:string"></xsd:element>
> 				</xsd:sequence>
> 			</xsd:complexType>
> 		</xsd:schema>
> 	</wsdl:types>
> 	<wsdl:message name="addCustomerRequest">
> 		<wsdl:part element="tns:addCustomerReqEl" name="parameters" />
> 	</wsdl:message>
> 	<wsdl:message name="addCustomerResponse">
> 		<wsdl:part element="tns:addCustomerRespEl" name="parameters" />
> 	</wsdl:message>
> 	<wsdl:portType name="CustomerService">
> 		<wsdl:operation name="addCustomer">
> 			<wsdl:input message="tns:addCustomerRequest" />
> 			<wsdl:output message="tns:addCustomerResponse" />
> 		</wsdl:operation>
> 	</wsdl:portType>
> 	<wsdl:binding name="CustomerServiceSOAP" type="tns:CustomerService">
> 		<soap:binding style="document"
> 			transport="http://schemas.xmlsoap.org/soap/http" />
> 		<wsdl:operation name="addCustomer">
> 			<soap:operation soapAction="urn:CustomerService/addCustomer" />
> 			<wsdl:input>
> 				<soap:body use="literal" />
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap:body use="literal" />
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 	<wsdl:service name="CustomerService">
> 		<wsdl:port binding="tns:CustomerServiceSOAP" name="CustomerServiceSOAP">
> 			<soap:address location="http://localhost:8080/CustomerService" />
> 		</wsdl:port>
> 	</wsdl:service>
> </wsdl:definitions>
> ---------------------------------
> When I deploy this WSDL using spring, camel and CXF as web-service, the serving WSDL
(http://localhost:8080/CustomerService?WSDL) content shows schema location as http location
(http://localhost:8080/CustomerService?xsd=customer.xsd)
> --------------------------------
> My Requirement:
> - I want the imported schema content to be in-lined / flatten inside WSDL.
> - If imported schema internally imports/ includes another schema that also need to be
in-lined 
> - Also in-lined WSDL will show all included schema as merged in to single schema section
to avoid conflicts.
> For the above WSDL when it gets served we may have parameter to the URL e.g. http://localhost:8080/CustomerService?WSDL&flat=1
and it should give me flat WSDL as follows:
> -------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> 	xmlns:tns="urn:CustomerService/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CustomerService"
> 	targetNamespace="urn:CustomerService/">
> 	<wsdl:types>
> 		<xsd:schema targetNamespace="urn:CustomerService/"
> 			xmlns:pref="http://www.example.org/customer">
> 			<xsd:import namespace="http://www.example.org/customer"></xsd:import>
> 			<xsd:element name="addCustomerReqEl" type="pref:customer"></xsd:element>
> 			<xsd:element name="addCustomerRespEl" type="tns:CustomerRespType">
> 			</xsd:element>
> 			<xsd:complexType name="CustomerRespType">
> 				<xsd:sequence>
> 					<xsd:element name="customer" type="pref:customer"></xsd:element>
> 					<xsd:element name="status" type="xsd:string"></xsd:element>
> 				</xsd:sequence>
> 			</xsd:complexType>
> 		</xsd:schema>
> 		<!-- Here the content of Customer.xsd is in-lined / flatten -->
> 		<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
> 			targetNamespace="http://www.example.org/customer" xmlns:tns="http://www.example.org/customer"
> 			elementFormDefault="qualified">
> 			<complexType name="customer">
> 				<sequence>
> 					<element name="name" type="string"></element>
> 					<element name="id" type="string"></element>
> 					<element name="contact" type="string"></element>
> 				</sequence>
> 			</complexType>
> 		</xsd:schema>
> 	</wsdl:types>
> 	<wsdl:message name="addCustomerRequest">
> 		<wsdl:part element="tns:addCustomerReqEl" name="parameters" />
> 	</wsdl:message>
> 	<wsdl:message name="addCustomerResponse">
> 		<wsdl:part element="tns:addCustomerRespEl" name="parameters" />
> 	</wsdl:message>
> 	<wsdl:portType name="CustomerService">
> 		<wsdl:operation name="addCustomer">
> 			<wsdl:input message="tns:addCustomerRequest" />
> 			<wsdl:output message="tns:addCustomerResponse" />
> 		</wsdl:operation>
> 	</wsdl:portType>
> 	<wsdl:binding name="CustomerServiceSOAP" type="tns:CustomerService">
> 		<soap:binding style="document"
> 			transport="http://schemas.xmlsoap.org/soap/http" />
> 		<wsdl:operation name="addCustomer">
> 			<soap:operation soapAction="urn:CustomerService/addCustomer" />
> 			<wsdl:input>
> 				<soap:body use="literal" />
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap:body use="literal" />
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 	<wsdl:service name="CustomerService">
> 		<wsdl:port binding="tns:CustomerServiceSOAP" name="CustomerServiceSOAP">
> 			<soap:address location="http://www.example.org/" />
> 		</wsdl:port>
> 	</wsdl:service>
> </wsdl:definitions>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message