ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzamj_5.4.0.1/rzamjwebservicesintro.htm

92 lines
6.5 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Web Services Client for C++ introduction" />
<meta name="abstract" content="A Web service consists of one or more methods that share a common point of reference, and that can synchronously communicate, using Simple Object Access Protocol (SOAP) protocols, with other similarly enabled applications." />
<meta name="description" content="A Web service consists of one or more methods that share a common point of reference, and that can synchronously communicate, using Simple Object Access Protocol (SOAP) protocols, with other similarly enabled applications." />
<meta name="DC.Relation" scheme="URI" content="rzamjmain.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzamjwebservicesintro" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Web Services Client for C++ introduction</title>
</head>
<body id="rzamjwebservicesintro"><a name="rzamjwebservicesintro"><!-- --></a>
<img src="./delta.gif" alt="Start of change" /><!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Web Services Client for C++ introduction</h1>
<div><p>A Web service consists of one or more methods that share a common
point of reference, and that can synchronously communicate, using Simple Object
Access Protocol (SOAP) protocols, with other similarly enabled applications. </p>
<p> IBM<sup>®</sup> Web
Services Client for C++ (WSCC) provides a set of libraries and Java™ tools
that enable you to build C++ Web service client applications from existing
Web Service Description Language (WSDL) files. These applications are able
to communicate over Hypertext Transfer Protocol (HTTP) with other applications
that are configured in a similar way, using transmission control protocol/internet
protocol (TCP/IP) with SOAP protocols. </p>
<div class="p">WSCC has the following capabilities: <ul><li>Support for Web Services Description Language (WSDL) - document literal
only</li>
<li>Supports Web Services Invocation (WSI) 1.0 basic profile compliance</li>
<li>Support for Secure Sockets Layer (SSL)</li>
<li>Java API
for XML-based remote procedure call (JAX-RPC) style implementation</li>
</ul>
</div>
<div class="section"><h4 class="sectiontitle">How Web Services Client for C++ works</h4><p>Web services
are based on files called WSDLs, which are XML files containing all the information
relating to services that are available at a particular location on the internet.
At their simplest level, WSDLs describe request/response message pairs in
detail, and contain everything relevant to the service. </p>
<p>A Java program,
WSDL2Ws, which is part of the Web Services Client for C++ package, is used
to turn the WSDL into a suite of C++ stubs and data objects that you can call
and pass information to, and that request information from the server and
then wait for the corresponding reply before passing the response data objects
back to the client. The stubs hide the internet communication from the application
writer. All you need to know is the name of the service, the method it contains,
and the structure of any data objects that are passed.</p>
<p>The most common
use of Web Services Client for C++ is to create a WSDL source file that describes
the communication between the client and server, and then use the WSDL2Ws
tool to generate stubs that you can use to communicate with the Web service
server.</p>
<p>The following diagrams describe the actions that are required
to turn a WSDL into a Web service. Figure 1 illustrates the first step, which
is to convert the WSDL into a set of C++ client stubs that can be called by
the client application:<br /><img src="rzamj501.gif" alt="Process&#xA;flow between WSDL and C++ stubs" /><br /></p>
<p>As shown in Figure 2,
the client application calls a method on a service in the stubs. This method
calls a number of underlying methods in the AxisClient library, which generates
the SOAP message that communicates with the server:<br /><img src="rzamj502.gif" alt="Process flow between client and server applications&#xA;using stubs generated by WSDL2Ws" /><br /></p>
<p>You can add Web service
handlers to the AxisClient library to allow further processing of the SOAP
message, either before it is transmitted to the server or after the corresponding
reply has been received from the server. The Web Service Deployment Descriptor
(WSDD) file controls how handlers are used. Figure 3 is an amended version
of Figure 2, showing how handlers can be hooked into the AxisClient library:<br /><img src="rzamj503.gif" alt="Process flow between&#xA;client and server applications using generated stubs, and request and response&#xA;handlers" /><br /></p>
<p>For more detailed explanations and examples,
see the docs sub-directory in the install directory for Web Services Client
for C++, which is /QIBM/ProdData/xmltoolkit/wscc-1.0-OS400.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzamjmain.htm" title="The XML Toolkit for iSeries (licensed program offering (LPO) 5733-XT1) is designed to provide key development enablement components, XML parsers, to assist in the use of XML for general application or business-to-business (B2B) solutions. The XSL transformer allows you to reformat or reorganize XML documents to other formats (for example, XML or HTML).">XML Toolkit for iSeries</a></div>
</div>
</div>
<img src="./deltaend.gif" alt="End of change" /></body>
</html>