callSoapService

Send SOAP (Simple Object Access Protocol) message to endpoint

callSoapService will be removed in a future release. Use matlab.wsdl.createWSDLClient instead.

Syntax

  • response = callSoapService(endpoint,soapAction,message) example

Description

example

response = callSoapService(endpoint,soapAction,message) sends message to the soapAction service at endpoint.

Examples

expand all

Retrieve Book Information from Library Database

This example assumes the library is on a local intranet and does not use an actual endpoint; therefore, you cannot run it.

Retrieve the name of the author of a book titled "In the Fall." The relative path of the library service is urn:LibraryCatalog. To get the author's name, use the getAuthor function, which takes the book name as the input value. The getAuthor parameter is nameToLookUp. The XML data type for title is {http://www.w3.org/2001/XMLSchema}string. The SOAP message style is rpc by default.

Create the SOAP message.

message = createSoapMessage(...
  'urn:LibraryCatalog',...
  'getAuthor',...
  {'In the Fall'},...
  {'nameToLookUp'},...
  {'{http://www.w3.org/2001/XMLSchema}string'})
message =
 
[#document: null]

This response does not necessarily indicate that the message is valid, although certain input problems produce error messages.

Send the message to the server for processing, and get the author's name back. The server endpoint is http://test/soap/services/LibraryCatalog. The server method is urn:LibraryCatalog#getAuthor.

response = callSoapService(...
  'http://test/soap/services/LibraryCatalog',...
  'urn:LibraryCatalog#getAuthor',...
  message)
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getAuthorResponse xmlns="urn:LibraryCatalog">
<ns1:getAuthorReturn xmlns:ns1="http://latestversion.soap.test">
Kate Alvin
</ns1:getAuthorReturn>
</getAuthorResponse>
</soapenv:Body>
</soapenv:Envelope>

MATLAB® returns the message in a single line, displayed here on separate lines for legibility.

Extract the author's name.

author = parseSoapResponse(response)
author = Kate Alvin

MATLAB automatically converted the XML string data type to char.

Input Arguments

expand all

endpoint — URL identifying a built-in HTTP servicestring

URL identifying a built-in HTTP service, specified as a string.

Example: 'http://test/soap/services/LibraryCatalog'

soapAction — Name of servicestring

Name of service, specified as a string.

Example: 'urn:LibraryCatalog#getAuthor'

message — Java® document object model (DOM)string

Java document object model (DOM), specified as a string. Use createSoapMessage to create message.

Output Arguments

expand all

response — Result of soapActionstring

Result of soapAction, returned as a string. To read information in response, use the parseSoapResponse function.

Was this topic helpful?