Examples: Rational Software Architect Designer extensions

The Rational® Software Architect Designer extensions use the following XML namespace definition: xmlns:rsa="http://rational.software.architect". This section provides examples of Service Component extensions and Environment extensions, and shows sample WSDL and WADL fragments.

Service Component extensions

The following three extensions are child elements of the <wsdl:definitions> element or the <wadl:application> element:
  • <rsa:model_reference value="/Model1/Blank%20Package.emx"/>: Added to the Description field in the Documentation tab of the Service Component.

  • <rsa:path value="Blank Package::Package1::Component1"/>: Added to the Description field in the Documentation tab of the Service Component.

  • <rsa:rm_link value="http://www.abc.com/rm/41965"/>: Added to the External Documentation field in the Documentation tab of the Service Component.

    The following screen shot shows the editor of a WSDL Service Component in Logical View:

You can also access the value of the <rsa:rm_link> element from the Test Factory perspective by clicking Documentation in the context menu of any node under the Service Component. The following screen shot shows the context menu:

Environment extensions

The following extension is a child element of the <wsdl:service> element or the <wadl:application> element and is repeatable:
<rsa:environment>
<rsa:envname value="Travel.DBSingleNode"/>
<rsa:envlocation value="CityA/OfficeA/ServerA"/>
</rsa:environment>
This value is placed in the Description field in the Documentation tab of the environment that you select or create while adding the documents to HCL OneTest™ API project. Following is a sample screen shot:

A sample WSDL fragment

The following sample is a WSDL fragment:
<?xml version="1.0" encoding="utf-8"?>
	<wsdl:definitions 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:rsa="http://rational.software.architect">
	<rsa:model_reference value="/Model1/Blank%20Package.emx"/>
	<rsa:path value="Blank Package::Package1::Component1"/>
	<rsa:rm_link value="http://www.abc.com/rm/41965"/>
		<wsdl:types>
		...
		<wsdl:binding name="CalculatorSoap" type="tns:CalculatorSoap">
			<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
			<wsdl:operation name="Add">
				<soap:operation soapAction="http://tempuri.org/Add" style="document" />
				<wsdl:input>
				<soap:body use="literal" />
				</wsdl:input>
				<wsdl:output>
				<soap:body use="literal" />
				</wsdl:output>
			</wsdl:operation>
			...
		</wsdl:binding>
		<wsdl:service name="Calculator">
			<rsa:environment>
				<rsa:envname value="Travel.DBSingleNode"/>
				<rsa:envlocation value="CityA/OfficeA/ServerA"/>
			</rsa:environment>
			<rsa:environment>
				<rsa:envname value="Travel.DBDualNode"/>
				<rsa:envlocation value="CityC/OfficeC/ServerC"/>
			</rsa:environment>
			<wsdl:port name="CalculatorSoap" binding="tns:CalculatorSoap">
			<soap:address location="http://www.dneonline.com/calculator.asmx" />
			</wsdl:port>
			<wsdl:port name="CalculatorSoap12" binding="tns:CalculatorSoap12">
			<soap12:address location="http://www.dneonline.com/calculator.asmx" />
			</wsdl:port>
		</wsdl:service>
	</wsdl:definitions>

A sample WADL fragment

The following sample is a WADL fragment:
<wadl:application 
      xmlns:wadl="http://wadl.dev.java.net/2009/02"   
      xmlns:rsa="http://rational.software.architect">
	<rsa:model_reference value="/Model1/Blank%20Package.emx"/>
	<rsa:path value="Blank Package::Package1::Component1"/>
	<rsa:rm_link value="http://www.abc.com/rm/41965"/>
	<rsa:environment>
      <rsa:envname name="dualNodeTopology"/>
      <rsa:envlocation location="Location1/Location2/Node"/>
	</rsa:environment>
	<rsa:environment>
		<rsa:envname name="singleNodeTopology"/>
		<rsa:envlocation location="LocationA/Node"/>
	</rsa:environment>
	<wadl:resources base="/*">
		<wadl:resource path="/resourceclass">
		<wadl:method id="PUTOperation" name="PUT"/>
		<wadl:method id="GETOperation" name="GET"/>
		</wadl:resource>
	</wadl:resources>
</wadl:application>
Feedback