SOAPWeb Service Location:
Click to Select
Click to Select
Making Requests with SOAP
EBSCOhost offers a SOAP protocol for the EBSCOhost Integration Toolkit Web Service API. 'SOAP' is an acronym for "Simple Object Access Protocol". SOAP provides a way for two different applications on two different platforms to easily exchange data.
SOAP uses XML to exchange data. The exchange of data can be referred to as a "transaction". A typical input-output transaction works as follows:
- Client sends an XML message to server requesting data.
- Server receives message, and retrieves data.
- Server sends an XML message containing requested data back to the client.
- Client processes returned data.
This format provides a very concrete and standardized way of communication between applications. Many different platforms and programming languages support SOAP.
The SOAP protocol requires an AuthorizationHeader for authentication. To learn how to authenticate a SOAP request, refer to the SOAP Header section.
Using SOAP with the EBSCOhost APIBack to Top
The EBSCOhost SOAP API has a WSDL, or Web Services Description Language, file available. The Web Services Description Language is an XML based language, and provides a model for describing web services. The WSDL is always located here:
The WSDL document provides all of the information needed to make a request to the EBSCOhost API. The API is always available at this address:
In order to successfully make a request to the EBSCOhost API, you must have an EIT profile. If you do not have an EIT profile, however, you may contact your Account Manager for details on acquiring one.
SOAP BasicsBack to Top
There are two parts to a SOAP message:
- The SOAP Header - This will contain authentication data for the EBSCOhost API.
- The SOAP Body - This will contain the request to the EBSCOhost API.
The SOAP HeaderBack to Top
The SOAP Header will contain the AuthorizationHeader, which is what the EIT SOAP Web Service API uses to authenticate users. The SOAP Header, with the EIT Authorization Header, must look like this:
<soap:Header> <eit:AuthorizationHeader soap:mustUnderstand="1" xmlns:eit="http://epnet.com/webservices/SearchService/2007/07/"> <eit:Profile>[Your EIT Profile ID]</eit:Profile> <eit:Password>[Your Profile Password]</eit:Password> </eit:AuthorizationHeader> </soap:Header>
These are the parameters which may be used in the AuthorizationHeader:
||The profile used for authentication. This must be an EIT enabled profile.||Required if using profile authentication.||-|
||The password used for profile authentication.||Required if using profile authentication.||-|
Indicates if using IP Authentication or Profile Authentication.
||The profile used for authentication.||Required if using IP authentication.||-|
||The IP address used for authentication.||Required if using IP authentication.||-|
The SOAP BodyBack to Top
The SOAP Body is where the actual request to data from the EBSCOhost API will go. The SOAP Body must look like the following:
<soap:Body> <!-- The EBSCOhost API method being called goes here --> </soap:Body>
Inside of the Body, one of the EBSCOhost API methods is called. For more information on each of the methods, see:
The Full SOAP MessageBack to Top
In order to complete the SOAP Request, the SOAP Header and SOAP Body must be combined. Both the SOAP Header and SOAP Body get put in the SOAP Envelope. The full message must look like the following:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > <soap:Header> <eit:AuthorizationHeader soap:mustUnderstand="1" xmlns:eit="http://epnet.com/webservices/SearchService/2007/07/"> <eit:Profile>[Your EIT Profile ID]</eit:Profile> <eit:Password>[Your Profile Password]</eit:Password> </eit:AuthorizationHeader> </soap:Header> <soap:Body> <!-- The EIT Web Service method being called goes here --> </soap:Body> <soap:Envelope>This message may then be sent to the SOAP EBSCOhost API, and the data requested will be returned in XML format.