Skip to content

Instantly share code, notes, and snippets.

@kyyberi
Created March 28, 2014 10:59
Show Gist options
  • Save kyyberi/9830146 to your computer and use it in GitHub Desktop.
Save kyyberi/9830146 to your computer and use it in GitHub Desktop.
x-road sample org service WSDL
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://persons_register.x-road.eu/producer" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xrd="http://x-road.eu/xsd/x-road.xsd" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" targetNamespace="http://persons_register.x-road.eu/producer">
<types>
<schema targetNamespace="http://persons_register.x-road.eu/producer" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://x-road.eu/xsd/x-road.xsd" schemaLocation="https://x-road.eu/xsd/x-road.xsd"/>
<import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="http://www.w3.org/2005/05/xmlmime"/>
<element name="personList">
<complexType>
<sequence>
<element name="request">
<complexType>
<sequence>
<element name="firstName" type="string">
<annotation>
<appinfo>
<xrd:title>First name</xrd:title>
<xsd:pattern value="[0-9][0-9]?[0-9]?"></xsd:pattern>
<xsd:minLength value="9" />
<xsd:maxength value="12" />
</appinfo>
</annotation>
</element>
<element name="lastName" type="string">
<annotation>
<appinfo>
<xrd:title>Last name</xrd:title>
</appinfo>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="personListResponse">
<complexType>
<sequence>
<element name="request">
<complexType>
<sequence>
<element name="firstName" nillable="true" type="string"/>
<element name="lastName" nillable="true" type="string"/>
</sequence>
</complexType>
</element>
<element name="response">
<complexType>
<sequence>
<element name="faultCode" type="xrd:faultCode" nillable="true"/>
<element name="faultString" type="xrd:faultString" nillable="true"/>
<element maxOccurs="unbounded" minOccurs="0" name="person" nillable="true" type="tns:person_short">
<annotation>
<appinfo>
<xrd:title>Person data</xrd:title>
</appinfo>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<complexType name="person_short">
<all>
<element name="firstName" type="string">
<annotation>
<appinfo>
<xrd:title>First name</xrd:title>
</appinfo>
</annotation>
</element>
<element name="lastName" type="string">
<annotation>
<appinfo>
<xrd:title>Last name</xrd:title>
</appinfo>
</annotation>
</element>
<element name="userId" type="string">
<annotation>
<appinfo>
<xrd:title>user Id</xrd:title>
</appinfo>
</annotation>
</element>
</all>
</complexType>
</schema>
</types>
<message name="personList">
<part name="body" element="tns:personList"/>
</message>
<message name="personListResponse">
<part name="body" element="tns:personListResponse"/>
</message>
<message name="listMethods">
<part name="body" element="xrd:listMethods"/>
</message>
<message name="listMethodsResponse">
<part name="body" element="xrd:listMethodsResponse"/>
</message>
<message name="testSystem">
<part name="body" element="xrd:testSystem"/>
</message>
<message name="testSystemResponse">
<part name="body" element="xrd:testSystemResponse"/>
</message>
<message name="standardheader">
<part name="consumer" element="xrd:consumer"/>
<part name="producer" element="xrd:producer"/>
<part name="userId" element="xrd:userId"/>
<part name="service" element="xrd:service"/>
<part name="id" element="xrd:id"/>
</message>
<portType name="TestPortType">
<operation name="personList">
<documentation><xrd:title>List of persons</xrd:title></documentation>
<input message="tns:personList"/>
<output message="tns:personListResponse"/>
</operation>
<operation name="listMethods">
<documentation><xrd:title>listMethods</xrd:title></documentation>
<input message="tns:listMethods"/>
<output message="tns:listMethodsResponse"/>
</operation>
<operation name="testSystem">
<documentation><xrd:title>testSystem</xrd:title></documentation>
<input message="tns:testSystem"/>
<output message="tns:testSystemResponse"/>
</operation>
</portType>
<binding name="TestSoapBinding" type="tns:TestPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="personList">
<soap:operation soapAction="personList" style="document"/>
<xrd:version>v1</xrd:version>
<input>
<soap:body parts="body" use="literal"/>
<soap:header message="tns:standardheader" part="consumer" use="literal"/>
<soap:header message="tns:standardheader" part="producer" use="literal"/>
<soap:header message="tns:standardheader" part="userId" use="literal"/>
<soap:header message="tns:standardheader" part="id" use="literal"/>
<soap:header message="tns:standardheader" part="service" use="literal"/>
</input>
<output>
<soap:body parts="body" use="literal"/>
<soap:header message="tns:standardheader" part="consumer" use="literal"/>
<soap:header message="tns:standardheader" part="producer" use="literal"/>
<soap:header message="tns:standardheader" part="userId" use="literal"/>
<soap:header message="tns:standardheader" part="id" use="literal"/>
<soap:header message="tns:standardheader" part="service" use="literal"/>
</output>
</operation>
<operation name="listMethods">
<soap:operation soapAction="listMethods" style="document"/>
<input>
<soap:body parts="body" use="literal"/>
</input>
<output>
<soap:body parts="body" use="literal"/>
</output>
</operation>
<operation name="testSystem">
<soap:operation soapAction="testSystem" style="document"/>
<input>
<soap:body parts="body" use="literal"/>
</input>
<output>
<soap:body parts="body" use="literal"/>
</output>
</operation>
</binding>
<service name="TestSoapService">
<port name="Test" binding="tns:TestSoapBinding">
<soap:address location="http://localhost:8080/training/services/TestSoapService"/>
<xrd:title>Test persons register service</xrd:title>
<xrd:address producer="persons_register"/>
</port>
</service>
</definitions>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment