[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [wsdm][UPlat] Versioning idea using namespace attributes in WSDL
Below is an example of how versioning can be implemented using existing namespace mechanisms in WSDL. This will require OASIS to define a set of WSDM attributes in http://oasis-open.org/draft/11/2003/wsdm/ schema. In this schema, version attributes (version, version-change-description, version-predecessor, version-successor, etc.) will be declared along with other wsdm related attributes (relationship attributes, etc.).
The advantage of this approach: this WSDL can be processed by client who is not WSDM ready as the wsdm:version attributes will be ignored by clients who don't look for them.
<?xml
version="1.0" encoding="UTF-8" ?>
<wsdl:definitions
targetNamespace="http://acmecorp.com/stockquoteservice/manageability"
xmlns:wsdm="http://oasis-open.org/draft/11/2003/wsdm/"
xmlns:impl="http://acmecorp.com/StockQuote"
xmlns:intf="http://acmecorp.com/StockQuote"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<wsdl:message
name="getTransactionNumberInTheLastHoursResponse">
<wsdl:part name="transaction_numbers"
type="xsd:int" />
</wsdl:message>
<wsdl:message
name="getTransactionNumberInTheLastHoursRequest">
<wsdl:part name="hours"
type="xsd:int" />
</wsdl:message>
<wsdl:portType
name="StockQuoteManageability" wsdm:version="2.1.1" wsdm:version-change-description=”fixed type on the interface
name”>
<wsdl:operation
name="getTransactionNumberInTheLastHours"
parameterOrder="hours">
<wsdl:input name="
getTransactionNumberInTheLastHoursRequest "
message="impl:getTransactionNumberInTheLastHoursRequest " />
<wsdl:output name="
getTransactionNumberInTheLastHoursResponse "
message="impl:getTransactionNumberInTheLastHoursResponse " />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding
name="StockQuoteManageabilitySoapBinding"
type="impl:StockQuoteManageability">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation
name=" getTransactionNumberInTheLastHours ">
<wsdlsoap:operation soapAction=""
/>
<wsdl:input
name=" getTransactionNumberInTheLastHoursRequest ">
<wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://acmecorp.com/StockQuote" />
</wsdl:input>
<wsdl:output
name=" getTransactionNumberInTheLastHoursResponse">
<wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://acmecorp.com/StockQuote" />
</wsdl:output>
<wsdl:service
name="StockQuoteManageabilityService" wsdm:version="1.2.2"
wsdm:version-predecessor=”1.2.1” >
<wsdl:port
name="StockQuoteManageability" binding="impl:StockQuoteManageabilitySoapBinding"
>
<wsdlsoap:address
location="http://acmecorp.com/StockQuote/Manageability" wsdm:version="1.1.0" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Feedback?
Cheers,
Andreas
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]