Example API definition: globalweather_1.0.0.yaml
The following code sample contains an API definition.
The API definition file globalweather_1.0.0.yaml is referenced by the example scenario in Example: Using the platform REST APIs to publish a product containing a SOAP API.
swagger: '2.0'
info:
title: GlobalWeather
description: ''
x-ibm-name: globalweather
version: 1.0.0
schemes:
- https
basePath: /globalweather
produces:
- application/xml
consumes:
- text/xml
securityDefinitions:
clientID:
type: apiKey
in: header
name: X-IBM-Client-Id
security:
- clientID: []
x-ibm-configuration:
type: wsdl
phase: realized
enforced: true
testable: true
gateway: datapower-api-gateway
cors:
enabled: true
wsdl-definition:
wsdl: globalweather.wsdl
service: GlobalWeather
port: GlobalWeatherSoap
soap-version: '1.1'
assembly:
execute:
- invoke:
title: invoke
target-url: 'http://www.webservicex.com/globalweather.asmx'
version: 2.0.0
header-control:
type: blocklist
values: []
parameter-control:
type: blocklist
values: []
x-ibm-apiconnect-wsdl:
package-version: 2.0.35
options: {}
messages:
info:
- message: >-
The wsdl 'service' has multiple 'ports'. The api is generated using
information in the first soap 'port'.
warning: []
error: []
paths:
/GetWeather:
post:
summary: Operation GetWeather
description: Get weather report for all major cities around the world.
operationId: GetWeather
x-ibm-soap:
soap-action: 'http://www.webserviceX.NET/GetWeather'
soap-operation: '{http://www.webserviceX.NET}GetWeather'
parameters:
- in: body
name: body
required: true
schema:
$ref: '#/definitions/GetWeatherInput'
responses:
default:
description: ''
schema:
$ref: '#/definitions/GetWeatherOutput'
/GetCitiesByCountry:
post:
summary: Operation GetCitiesByCountry
description: "Get all major\n\t\t\t\tcities by country name(full / part)."
operationId: GetCitiesByCountry
x-ibm-soap:
soap-action: 'http://www.webserviceX.NET/GetCitiesByCountry'
soap-operation: '{http://www.webserviceX.NET}GetCitiesByCountry'
parameters:
- in: body
name: body
required: true
schema:
$ref: '#/definitions/GetCitiesByCountryInput'
responses:
default:
description: ''
schema:
$ref: '#/definitions/GetCitiesByCountryOutput'
definitions:
Security:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
prefix: wsse
description: Header for WS-Security
type: object
properties:
UsernameToken:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
prefix: wsse
type: object
properties:
Username:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
prefix: wsse
type: string
Password:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
prefix: wsse
type: string
Nonce:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
prefix: wsse
type: string
properties:
EncodingType:
xml:
namespace: ''
attribute: true
type: string
Created:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
prefix: wsu
type: string
Timestamp:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
prefix: wsu
type: object
properties:
Created:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
prefix: wsu
type: string
Expires:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
prefix: wsu
type: string
Id:
xml:
namespace: >-
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
prefix: wsu
attribute: true
type: string
GetWeatherInput:
description: Input message for wsdl operation GetWeather
type: object
properties:
Envelope:
xml:
namespace: 'http://schemas.xmlsoap.org/soap/envelope/'
prefix: soapenv
type: object
properties:
Header:
$ref: '#/definitions/GetWeatherHeader'
Body:
xml:
namespace: 'http://schemas.xmlsoap.org/soap/envelope/'
prefix: soapenv
type: object
properties:
GetWeather:
$ref: '#/definitions/GetWeather_element_tns'
required:
- GetWeather
required:
- Body
required:
- Envelope
x-ibm-schema:
wsdl-port: '{http://www.webserviceX.NET}GlobalWeatherSoap'
wsdl-operation: GetWeather
wsdl-message-direction-or-name: GetWeatherRequest
example: >-
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<!-- The Security element should be removed if WS-Security is not enabled on the SOAP target-url -->
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>string</wsse:Username>
<wsse:Password>string</wsse:Password>
<wsse:Nonce EncodingType="string">string</wsse:Nonce>
<wsu:Created>string</wsu:Created>
</wsse:UsernameToken>
<wsu:Timestamp wsu:Id="string">
<wsu:Created>string</wsu:Created>
<wsu:Expires>string</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<tns:GetWeather xmlns:tns="http://www.webserviceX.NET"><!-- mandatory -->
<tns:CityName>string</tns:CityName>
<tns:CountryName>string</tns:CountryName>
</tns:GetWeather>
</soapenv:Body>
</soapenv:Envelope>
GetWeatherHeader:
description: Input headers for wsdl operation GetWeather
type: object
properties:
Security:
$ref: '#/definitions/Security'
GetWeatherOutput:
description: Output message for wsdl operation GetWeather
type: object
properties:
Envelope:
xml:
namespace: 'http://schemas.xmlsoap.org/soap/envelope/'
prefix: soapenv
type: object
properties:
Body:
xml:
namespace: 'http://schemas.xmlsoap.org/soap/envelope/'
prefix: soapenv
type: object
properties:
GetWeatherResponse:
$ref: '#/definitions/GetWeatherResponse_element_tns'
required:
- Body
required:
- Envelope
x-ibm-schema:
wsdl-port: '{http://www.webserviceX.NET}GlobalWeatherSoap'
wsdl-operation: GetWeather
wsdl-message-direction-or-name: GetWeatherResponse
example: >-
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<tns:GetWeatherResponse xmlns:tns="http://www.webserviceX.NET">
<tns:GetWeatherResult>string</tns:GetWeatherResult>
</tns:GetWeatherResponse>
</soapenv:Body>
</soapenv:Envelope>
GetCitiesByCountryInput:
description: Input message for wsdl operation GetCitiesByCountry
type: object
properties:
Envelope:
xml:
namespace: 'http://schemas.xmlsoap.org/soap/envelope/'
prefix: soapenv
type: object
properties:
Header:
$ref: '#/definitions/GetCitiesByCountryHeader'
Body:
xml:
namespace: 'http://schemas.xmlsoap.org/soap/envelope/'
prefix: soapenv
type: object
properties:
GetCitiesByCountry:
$ref: '#/definitions/GetCitiesByCountry_element_tns'
required:
- GetCitiesByCountry
required:
- Body
required:
- Envelope
x-ibm-schema:
wsdl-port: '{http://www.webserviceX.NET}GlobalWeatherSoap'
wsdl-operation: GetCitiesByCountry
wsdl-message-direction-or-name: GetCitiesByCountryRequest
example: >-
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<!-- The Security element should be removed if WS-Security is not enabled on the SOAP target-url -->
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>string</wsse:Username>
<wsse:Password>string</wsse:Password>
<wsse:Nonce EncodingType="string">string</wsse:Nonce>
<wsu:Created>string</wsu:Created>
</wsse:UsernameToken>
<wsu:Timestamp wsu:Id="string">
<wsu:Created>string</wsu:Created>
<wsu:Expires>string</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<tns:GetCitiesByCountry xmlns:tns="http://www.webserviceX.NET"><!-- mandatory -->
<tns:CountryName>string</tns:CountryName>
</tns:GetCitiesByCountry>
</soapenv:Body>
</soapenv:Envelope>
GetCitiesByCountryHeader:
description: Input headers for wsdl operation GetCitiesByCountry
type: object
properties:
Security:
$ref: '#/definitions/Security'
GetCitiesByCountryOutput:
description: Output message for wsdl operation GetCitiesByCountry
type: object
properties:
Envelope:
xml:
namespace: 'http://schemas.xmlsoap.org/soap/envelope/'
prefix: soapenv
type: object
properties:
Body:
xml:
namespace: 'http://schemas.xmlsoap.org/soap/envelope/'
prefix: soapenv
type: object
properties:
GetCitiesByCountryResponse:
$ref: '#/definitions/GetCitiesByCountryResponse_element_tns'
required:
- Body
required:
- Envelope
x-ibm-schema:
wsdl-port: '{http://www.webserviceX.NET}GlobalWeatherSoap'
wsdl-operation: GetCitiesByCountry
wsdl-message-direction-or-name: GetCitiesByCountryResponse
example: >-
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<tns:GetCitiesByCountryResponse xmlns:tns="http://www.webserviceX.NET">
<tns:GetCitiesByCountryResult>string</tns:GetCitiesByCountryResult>
</tns:GetCitiesByCountryResponse>
</soapenv:Body>
</soapenv:Envelope>
GetWeather_element_tns:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
name: GetWeather
type: object
properties:
CityName:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
type: string
CountryName:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
type: string
example: |-
<tns:GetWeather xmlns:tns="http://www.webserviceX.NET">
<tns:CityName>string</tns:CityName>
<tns:CountryName>string</tns:CountryName>
</tns:GetWeather>
GetWeatherResponse_element_tns:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
name: GetWeatherResponse
type: object
properties:
GetWeatherResult:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
type: string
example: |-
<tns:GetWeatherResponse xmlns:tns="http://www.webserviceX.NET">
<tns:GetWeatherResult>string</tns:GetWeatherResult>
</tns:GetWeatherResponse>
GetCitiesByCountry_element_tns:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
name: GetCitiesByCountry
type: object
properties:
CountryName:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
type: string
example: |-
<tns:GetCitiesByCountry xmlns:tns="http://www.webserviceX.NET">
<tns:CountryName>string</tns:CountryName>
</tns:GetCitiesByCountry>
GetCitiesByCountryResponse_element_tns:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
name: GetCitiesByCountryResponse
type: object
properties:
GetCitiesByCountryResult:
xml:
namespace: 'http://www.webserviceX.NET'
prefix: tns
type: string
example: |-
<tns:GetCitiesByCountryResponse xmlns:tns="http://www.webserviceX.NET">
<tns:GetCitiesByCountryResult>string</tns:GetCitiesByCountryResult>
</tns:GetCitiesByCountryResponse>