Library Catalogue SOAP Service
The Library Catalogue service exposes the classic SOAP/WSDL interface used by branch desktop clients and partner aggregators. It offers catalogue lookup and reservation operations backed by the central inventory. The WSDL and its XML Schemas are attached — the marketplace renders every operation with sample request and response envelopes, and resolves the cross-namespace schema imports into a browsable data-type reference.
- Service type
- SOAP / Web Service (WSDL)
- Target namespace
http://example.com/library- Endpoint
https://soap.example-library.com/services/catalogue
Library SOAP service for catalog lookups and reservations.
GetBook document
Fetch a book by its ISBN.
- SOAP action
http://example.com/library/GetBook- Request
GetBookRequest- Response
GetBookResponse
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://example.com/library">
<soapenv:Header/>
<soapenv:Body>
<GetBookRequest>
<isbn>string</isbn>
</GetBookRequest>
</soapenv:Body>
</soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://example.com/library">
<soapenv:Header/>
<soapenv:Body>
<GetBookResponse>
<book isbn="string">
<title>string</title>
<author>string</author>
<publisher>
<name>string</name>
<foundedYear>0</foundedYear>
</publisher>
<shippingAddress>
<street>string</street>
<city>string</city>
<postcode>string</postcode>
</shippingAddress>
<country>US</country>
</book>
</GetBookResponse>
</soapenv:Body>
</soapenv:Envelope>
ReserveBook document
Reserve an available copy of a book.
- SOAP action
http://example.com/library/ReserveBook- Request
ReserveBookRequest- Response
ReserveBookResponse
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://example.com/library">
<soapenv:Header/>
<soapenv:Body>
<GetBookRequest>
<isbn>string</isbn>
</GetBookRequest>
</soapenv:Body>
</soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://example.com/library">
<soapenv:Header/>
<soapenv:Body>
<GetBookResponse>
<book isbn="string">
<title>string</title>
<author>string</author>
<publisher>
<name>string</name>
<foundedYear>0</foundedYear>
</publisher>
<shippingAddress>
<street>string</street>
<city>string</city>
<postcode>string</postcode>
</shippingAddress>
<country>US</country>
</book>
</GetBookResponse>
</soapenv:Body>
</soapenv:Envelope>
Namespaces
-
common:http://example.com/common 2 types -
lib:http://example.com/library 4 types
Imports & includes
-
import
common-types.xsdresolved -
include
library-elements.xsdresolved -
import
common-types.xsdresolved -
include
book-types.xsdresolved
A postal address shared across services.
| Field | Type | Cardinality | Description |
|---|---|---|---|
street |
xs:string |
1..1 | |
city |
xs:string |
1..1 | |
postcode |
xs:string |
0..1 |
ISO 3166-1 alpha-2 country code (subset).
| Field | Type | Cardinality | Description |
|---|---|---|---|
US |
enum |
||
GB |
enum |
||
DE |
enum |
A catalogued book with shipping details.
| Field | Type | Cardinality | Description |
|---|---|---|---|
title |
xs:string |
1..1 | |
author |
xs:string |
1..1 | |
publisher |
lib:Publisher |
0..1 | |
shippingAddress |
common:Address |
0..1 | |
country |
common:CountryCode |
0..1 | |
@isbn |
xs:string |
1..1 |
| Field | Type | Cardinality | Description |
|---|---|---|---|
isbn |
xs:string |
1..1 |
| Field | Type | Cardinality | Description |
|---|---|---|---|
book |
lib:Book |
1..1 |
Publisher of a catalogued book.
| Field | Type | Cardinality | Description |
|---|---|---|---|
name |
xs:string |
1..1 | |
foundedYear |
xs:int |
0..1 |
Point your SOAP client at the endpoint below and import the attached WSDL. All operations use document/literal binding. Faults follow the standard SOAP 1.1 fault envelope with a service-specific error code list in the schema.
- Endpoint
https://soap.example-library.com/services/catalogue- SOAP version
- 1.1
Specification files
Read-only view of the attached service definitions. Use the Connection tab to download the originals.
WSDL library.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="LibraryService"
targetNamespace="http://example.com/library"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://example.com/library">
<wsdl:documentation>Library SOAP service for catalog lookups and reservations.</wsdl:documentation>
<wsdl:types>
<xs:schema targetNamespace="http://example.com/library"
xmlns:common="http://example.com/common"
xmlns:lib="http://example.com/library">
<xs:import namespace="http://example.com/common" schemaLocation="common-types.xsd"/>
<xs:include schemaLocation="book-types.xsd"/>
</xs:schema>
</wsdl:types>
<wsdl:message name="GetBookRequest">
<wsdl:part name="parameters" element="tns:GetBookRequest"/>
</wsdl:message>
<wsdl:message name="GetBookResponse">
<wsdl:part name="parameters" element="tns:GetBookResponse"/>
</wsdl:message>
<wsdl:message name="ReserveBookRequest">
<wsdl:part name="parameters" element="tns:GetBookRequest"/>
</wsdl:message>
<wsdl:message name="ReserveBookResponse">
<wsdl:part name="parameters" element="tns:GetBookResponse"/>
</wsdl:message>
<wsdl:portType name="LibraryPortType">
<wsdl:operation name="GetBook">
<wsdl:documentation>Fetch a book by its ISBN.</wsdl:documentation>
<wsdl:input message="tns:GetBookRequest"/>
<wsdl:output message="tns:GetBookResponse"/>
</wsdl:operation>
<wsdl:operation name="ReserveBook">
<wsdl:documentation>Reserve an available copy of a book.</wsdl:documentation>
<wsdl:input message="tns:ReserveBookRequest"/>
<wsdl:output message="tns:ReserveBookResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="LibraryBinding" type="tns:LibraryPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="GetBook">
<soap:operation soapAction="http://example.com/library/GetBook" style="document"/>
<wsdl:input><soap:body use="literal"/></wsdl:input>
<wsdl:output><soap:body use="literal"/></wsdl:output>
</wsdl:operation>
<wsdl:operation name="ReserveBook">
<soap:operation soapAction="http://example.com/library/ReserveBook" 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="LibraryService">
<wsdl:port name="LibraryPort" binding="tns:LibraryBinding">
<soap:address location="https://api.example.com/library/v1"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
XSD common-types.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:common="http://example.com/common"
targetNamespace="http://example.com/common"
elementFormDefault="qualified">
<xs:complexType name="Address">
<xs:annotation>
<xs:documentation>A postal address shared across services.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="street" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="postcode" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="CountryCode">
<xs:annotation>
<xs:documentation>ISO 3166-1 alpha-2 country code (subset).</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="US"/>
<xs:enumeration value="GB"/>
<xs:enumeration value="DE"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
XSD book-types.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:common="http://example.com/common"
xmlns:lib="http://example.com/library"
targetNamespace="http://example.com/library"
elementFormDefault="qualified">
<!-- Cross-namespace import: resolved against common-types.xsd in the set. -->
<xs:import namespace="http://example.com/common" schemaLocation="common-types.xsd"/>
<!-- Same-namespace include: resolved against library-elements.xsd in the set. -->
<xs:include schemaLocation="library-elements.xsd"/>
<xs:complexType name="Book">
<xs:annotation>
<xs:documentation>A catalogued book with shipping details.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="xs:string"/>
<xs:element name="publisher" type="lib:Publisher" minOccurs="0"/>
<xs:element name="shippingAddress" type="common:Address" minOccurs="0"/>
<xs:element name="country" type="common:CountryCode" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="isbn" type="xs:string" use="required"/>
</xs:complexType>
<xs:element name="GetBookRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="isbn" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetBookResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="book" type="lib:Book"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSD library-elements.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:lib="http://example.com/library"
targetNamespace="http://example.com/library"
elementFormDefault="qualified">
<xs:complexType name="Publisher">
<xs:annotation>
<xs:documentation>Publisher of a catalogued book.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="foundedYear" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>