92 lines
6.5 KiB
HTML
92 lines
6.5 KiB
HTML
|
<?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
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
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
client and server applications using generated stubs, and request and response
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>
|