axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From susan...@apache.org
Subject cvs commit: xml-axis/c/docs developers-guide.html
Date Mon, 14 Jul 2003 04:04:20 GMT
susantha    2003/07/13 21:04:20

  Modified:    c/docs   developers-guide.html
  Log:
  Added module writing API
  
  Revision  Changes    Path
  1.2       +724 -75   xml-axis/c/docs/developers-guide.html
  
  Index: developers-guide.html
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/docs/developers-guide.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- developers-guide.html	23 Jun 2003 13:38:41 -0000	1.1
  +++ developers-guide.html	14 Jul 2003 04:04:19 -0000	1.2
  @@ -1,95 +1,744 @@
   <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
  -<html>
  +<html xmlns:v="urn:schemas-microsoft-com:vml"
  +xmlns:o="urn:schemas-microsoft-com:office:office"
  +xmlns:w="urn:schemas-microsoft-com:office:word"
  +xmlns="http://www.w3.org/TR/REC-html40">
  +
   <head>
  -   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  -   <title>Axis Developer's Guide</title>
  -    <link href="axis.css" rel=stylesheet type=text/css>
  +<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
  +<meta name=ProgId content=Word.Document>
  +<meta name=Generator content="Microsoft Word 10">
  +<meta name=Originator content="Microsoft Word 10">
  +<link rel=File-List href="developers-guide_files/filelist.xml">
  +<link rel=Edit-Time-Data href="developers-guide_files/editdata.mso">
  +<!--[if !mso]>
  +<style>
  +v\:* {behavior:url(#default#VML);}
  +o\:* {behavior:url(#default#VML);}
  +w\:* {behavior:url(#default#VML);}
  +.shape {behavior:url(#default#VML);}
  +</style>
  +<![endif]-->
  +<title>Axis Developer's Guide</title>
  +<!--[if gte mso 9]><xml>
  + <o:DocumentProperties>
  +  <o:Author>Susantha Kumara</o:Author>
  +  <o:Template>Normal</o:Template>
  +  <o:LastAuthor>Susantha Kumara</o:LastAuthor>
  +  <o:Revision>17</o:Revision>
  +  <o:TotalTime>106</o:TotalTime>
  +  <o:Created>2003-07-12T13:59:00Z</o:Created>
  +  <o:LastSaved>2003-07-12T15:45:00Z</o:LastSaved>
  +  <o:Pages>1</o:Pages>
  +  <o:Words>697</o:Words>
  +  <o:Characters>3978</o:Characters>
  +  <o:Company>Home</o:Company>
  +  <o:Lines>33</o:Lines>
  +  <o:Paragraphs>9</o:Paragraphs>
  +  <o:CharactersWithSpaces>4666</o:CharactersWithSpaces>
  +  <o:Version>10.3311</o:Version>
  + </o:DocumentProperties>
  +</xml><![endif]--><!--[if gte mso 9]><xml>
  + <w:WordDocument>
  +  <w:Zoom>150</w:Zoom>
  +  <w:SpellingState>Clean</w:SpellingState>
  +  <w:GrammarState>Clean</w:GrammarState>
  +  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  + </w:WordDocument>
  +</xml><![endif]-->
  +<link rel=Stylesheet type="text/css" media=all href=axis.css>
  +<style>
  +<!--
  + /* Font Definitions */
  + @font-face
  +	{font-family:Wingdings;
  +	panose-1:5 0 0 0 0 0 0 0 0 0;
  +	mso-font-charset:2;
  +	mso-generic-font-family:auto;
  +	mso-font-pitch:variable;
  +	mso-font-signature:0 268435456 0 0 -2147483648 0;}
  +@font-face
  +	{font-family:Verdana;
  +	panose-1:2 11 6 4 3 5 4 4 2 4;
  +	mso-font-charset:0;
  +	mso-generic-font-family:swiss;
  +	mso-font-pitch:variable;
  +	mso-font-signature:536871559 0 0 0 415 0;}
  + /* Style Definitions */
  + p.MsoNormal, li.MsoNormal, div.MsoNormal
  +	{mso-style-parent:"";
  +	margin:0in;
  +	margin-bottom:.0001pt;
  +	mso-pagination:widow-orphan;
  +	font-size:12.0pt;
  +	font-family:"Times New Roman";
  +	mso-fareast-font-family:"Times New Roman";
  +	color:black;
  +	mso-believe-normal-left:yes;}
  +h1
  +	{mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:-22.5pt;
  +	mso-pagination:widow-orphan;
  +	mso-outline-level:1;
  +	font-size:24.0pt;
  +	color:black;
  +	font-weight:bold;}
  +h2
  +	{mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:-22.5pt;
  +	mso-pagination:widow-orphan;
  +	mso-outline-level:2;
  +	background:#DCE1FF;
  +	font-size:18.0pt;
  +	color:black;
  +	font-weight:bold;}
  +h3
  +	{mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:-7.5pt;
  +	mso-pagination:widow-orphan;
  +	mso-outline-level:3;
  +	font-size:13.5pt;
  +	color:black;
  +	font-weight:bold;}
  +a:link, span.MsoHyperlink
  +	{color:blue;
  +	text-decoration:underline;
  +	text-underline:single;}
  +a:visited, span.MsoHyperlinkFollowed
  +	{color:blue;
  +	text-decoration:underline;
  +	text-underline:single;}
  +p
  +	{mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:0in;
  +	mso-pagination:widow-orphan;
  +	font-size:12.0pt;
  +	font-family:"Times New Roman";
  +	mso-fareast-font-family:"Times New Roman";
  +	color:black;}
  +p.example, li.example, div.example
  +	{mso-style-name:example;
  +	mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:0in;
  +	mso-pagination:widow-orphan;
  +	background:#CCCCFF;
  +	font-size:12.0pt;
  +	font-family:"Times New Roman";
  +	mso-fareast-font-family:"Times New Roman";
  +	color:black;}
  +p.xml, li.xml, div.xml
  +	{mso-style-name:xml;
  +	mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:0in;
  +	mso-pagination:widow-orphan;
  +	background:#EEEEEE;
  +	font-size:12.0pt;
  +	font-family:"Times New Roman";
  +	mso-fareast-font-family:"Times New Roman";
  +	color:black;}
  +p.java, li.java, div.java
  +	{mso-style-name:java;
  +	mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:0in;
  +	mso-pagination:widow-orphan;
  +	background:#EEEEEE;
  +	font-size:12.0pt;
  +	font-family:"Times New Roman";
  +	mso-fareast-font-family:"Times New Roman";
  +	color:black;}
  +p.note, li.note, div.note
  +	{mso-style-name:note;
  +	mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:0in;
  +	mso-pagination:widow-orphan;
  +	font-size:12.0pt;
  +	font-family:"Times New Roman";
  +	mso-fareast-font-family:"Times New Roman";
  +	color:black;
  +	font-weight:bold;}
  +p.head, li.head, div.head
  +	{mso-style-name:head;
  +	mso-margin-top-alt:auto;
  +	margin-right:0in;
  +	mso-margin-bottom-alt:auto;
  +	margin-left:0in;
  +	text-align:center;
  +	mso-pagination:widow-orphan;
  +	font-size:29.0pt;
  +	font-family:"Times New Roman";
  +	mso-fareast-font-family:"Times New Roman";
  +	color:black;
  +	font-weight:bold;}
  +span.SpellE
  +	{mso-style-name:"";
  +	mso-spl-e:yes;}
  +span.GramE
  +	{mso-style-name:"";
  +	mso-gram-e:yes;}
  +@page Section1
  +	{size:8.5in 11.0in;
  +	margin:1.0in 1.25in 1.0in 1.25in;
  +	mso-header-margin:.5in;
  +	mso-footer-margin:.5in;
  +	mso-paper-source:0;}
  +div.Section1
  +	{page:Section1;}
  + /* List Definitions */
  + @list l0
  +	{mso-list-id:151718625;
  +	mso-list-type:hybrid;
  +	mso-list-template-ids:430862218 67698689 67698691 67698693 67698689 67698691 67698693
67698689 67698691 67698693;}
  +@list l0:level1
  +	{mso-level-number-format:bullet;
  +	mso-level-text:\F0B7;
  +	mso-level-tab-stop:.5in;
  +	mso-level-number-position:left;
  +	text-indent:-.25in;
  +	font-family:Symbol;}
  +@list l1
  +	{mso-list-id:543100049;
  +	mso-list-type:hybrid;
  +	mso-list-template-ids:-1476113394 67698703 67698713 67698715 67698703 67698713 67698715
67698703 67698713 67698715;}
  +@list l1:level1
  +	{mso-level-tab-stop:.5in;
  +	mso-level-number-position:left;
  +	text-indent:-.25in;}
  +@list l2
  +	{mso-list-id:1219704273;
  +	mso-list-type:hybrid;
  +	mso-list-template-ids:-1198995366 67698703 67698713 67698715 67698703 67698713 67698715
67698703 67698713 67698715;}
  +@list l2:level1
  +	{mso-level-tab-stop:.5in;
  +	mso-level-number-position:left;
  +	text-indent:-.25in;}
  +@list l3
  +	{mso-list-id:1931501748;
  +	mso-list-template-ids:1792558980;}
  +@list l3:level1
  +	{mso-level-number-format:bullet;
  +	mso-level-text:\F0B7;
  +	mso-level-tab-stop:.5in;
  +	mso-level-number-position:left;
  +	text-indent:-.25in;
  +	mso-ansi-font-size:10.0pt;
  +	font-family:Symbol;}
  +@list l4
  +	{mso-list-id:2078626972;
  +	mso-list-template-ids:-312079392;}
  +@list l4:level1
  +	{mso-level-number-format:bullet;
  +	mso-level-text:\F0B7;
  +	mso-level-tab-stop:.5in;
  +	mso-level-number-position:left;
  +	text-indent:-.25in;
  +	mso-ansi-font-size:10.0pt;
  +	font-family:Symbol;}
  +ol
  +	{margin-bottom:0in;}
  +ul
  +	{margin-bottom:0in;}
  +-->
  +</style>
  +<!--[if gte mso 10]>
  +<style>
  + /* Style Definitions */
  + table.MsoNormalTable
  +	{mso-style-name:"Table Normal";
  +	mso-tstyle-rowband-size:0;
  +	mso-tstyle-colband-size:0;
  +	mso-style-noshow:yes;
  +	mso-style-parent:"";
  +	mso-padding-alt:0in 5.4pt 0in 5.4pt;
  +	mso-para-margin:0in;
  +	mso-para-margin-bottom:.0001pt;
  +	mso-pagination:widow-orphan;
  +	font-size:10.0pt;
  +	font-family:"Times New Roman";}
  +</style>
  +<![endif]--><![if mso 9]>
  +<style>
  +p.MsoNormal
  +	{margin-left:30.0pt;}
  +</style>
  +<![endif]><!--[if gte mso 9]><xml>
  + <o:shapedefaults v:ext="edit" spidmax="2050" fillcolor="white">
  +  <v:fill color="white"/>
  +  <v:textbox style='layout-flow:vertical'/>
  + </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
  + <o:shapelayout v:ext="edit">
  +  <o:idmap v:ext="edit" data="1"/>
  +  <o:regrouptable v:ext="edit">
  +   <o:entry new="1" old="0"/>
  +  </o:regrouptable>
  + </o:shapelayout></xml><![endif]-->
   </head>
  -<body text="#000000" bgcolor="#FFFFFF">
   
  -<center>
  -<h1>
  -<img SRC="images/axis.jpg" height=96 width=176></h1></center>
  -
  -<h1>
  -Axis C++ Developer's Guide</h1>
  -<i>0.1 Version</i>
  -<h3>
  -Table of Contents</h3>
  -<a href="#Introduction">Introduction</a>
  -<br><a href="#General Guidelines">General Guidelines</a>
  -<br><a href="#Development Environment">Development Environment</a>
  -<br><a href="#Configuration Properties">Configuration Properties</a>
  -<br><a href="#Compile And Run">Compile and Run</a>
  -<br><a href="#Adding Testcases">Adding Testcases</a>
  -<br><a href="#TestStructure">Test and Samples Structure</a>
  -<br><a href="#CodeChecks">Adding Source Code Checks</a>
  -<br><a href="#JUnit">CUnit and Axis</a>
  -<br><a href="#Debugging">Debugging</a>
  -<br>&nbsp;
  -<h2>
  -<a NAME="Introduction"></a>Introduction</h2>
  -This document is intended for the developer who wish to download and compile and 
  -test the axis C++ server.<h2>
  -<a NAME="General Guidelines"></a>General Guidelines</h2>
  -
  -<ul>
  -<li>
  -TO DO ...</li>
  -</ul>
  +<body bgcolor=white lang=EN-US link=blue vlink=blue style='tab-interval:.5in;
  +margin-left:30.0pt'>
  +
  +<div class=Section1>
  +
  +<h1 align=center style='text-align:center'><span style='font-family:Verdana'><img
  +width=176 height=96 id="_x0000_i1025" src="images/axis.jpg"><o:p></o:p></span></h1>
   
  -<h2>
  -<a NAME="Development Environment"></a>Development Environment</h2>
  -The following packages are required for axis development:
  -<ul>
  +<h1><span style='font-family:Verdana'>Axis C++ Developer's Guide<o:p></o:p></span></h1>
   
  -<li>
  -<a href="http://xml.apache.org/dist/xerces-j">xerces</a> - xml processor</li>
  +<p class=MsoNormal><i><span style='font-family:Verdana'>0.1 Version</span></i><span
  +style='font-family:Verdana'> <o:p></o:p></span></p>
  +
  +<h3><span style='font-family:Verdana'>Table of Contents<o:p></o:p></span></h3>
  +
  +<p class=MsoNormal><span style='font-family:Verdana'><a href="#Introduction">Introduction</a>
  +<br>
  +<a href="#General_Guidelines">General Guidelines</a> <br>
  +<a href="#Development_Environment">Development Environment</a> <br>
  +<a href="#Configuration_Properties">Configuration Properties</a> <br>
  +<a href="#Compile_And_Run">Compile and Run</a> <br>
  +<a href="#Adding_Testcases">Adding <span class=SpellE>Testcases</span></a>
<o:p></o:p></span></p>
  +
  +<p class=MsoNormal><span style='font-family:Verdana'><a href="#ModuleAPI">Writing
  +Transport Modules</a><br>
  +<a href="#TestStructure">Test and Samples Structure</a> <br>
  +<a href="#CodeChecks">Adding Source Code Checks</a> <br>
  +<a href="#JUnit"><span class=SpellE>CUnit</span> and Axis</a> <br>
  +<a href="#Debugging">Debugging</a> <br>
  +&nbsp; <o:p></o:p></span></p>
  +
  +<h2><a name=Introduction></a><span style='font-family:Verdana'>Introduction<o:p></o:p></span></h2>
  +
  +<p class=MsoNormal><span style='font-family:Verdana'>This document is intended
  +for the <span class=GramE>developer who wish</span> to download and compile
and
  +test the axis C++ server.<o:p></o:p></span></p>
  +
  +<h2><a name="General_Guidelines"></a><span style='font-family:Verdana'>General
  +Guidelines<o:p></o:p></span></h2>
  +
  +<ul type=disc>
  + <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
  +     mso-list:l4 level1 lfo1;tab-stops:list .5in'><span style='font-family:
  +     Verdana'>TO DO ...<o:p></o:p></span></li>
   </ul>
   
  -<h2>
  -<a NAME="Configuration Properties"></a>Configuration Properties</h2>
  -<p>
  -TO DO ...
  +<h2><a name="Development_Environment"></a><span style='font-family:Verdana'>Development
  +Environment<o:p></o:p></span></h2>
  +
  +<p class=MsoNormal><span style='font-family:Verdana'>The following packages
are
  +required for axis development: <o:p></o:p></span></p>
   
  +<ul type=disc>
  + <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
  +     mso-list:l3 level1 lfo2;tab-stops:list .5in'><span style='font-family:
  +     Verdana'><a href="http://xml.apache.org/dist/xerces-j"><span class=SpellE>xerces</span></a>
  +     - xml processor<o:p></o:p></span></li>
   </ul>
   
  -<h2>
  -<a NAME="Compile And Run"></a>Compile and Run</h2>
  -<p>&nbsp;create and export an environment variable called<br>
  -XERCES_HOME. This environment variable should contain the path to the xerces 
  -home directory.<br>
  +<h2><a name="Configuration_Properties"></a><span style='font-family:Verdana'>Configuration
  +Properties<o:p></o:p></span></h2>
  +
  +<p><span style='font-family:Verdana'>TO <span class=GramE>DO ...</span>
<o:p></o:p></span></p>
  +
  +<h2><a name="Compile_And_Run"></a><span style='font-family:Verdana'>Compile
and
  +Run<o:p></o:p></span></h2>
  +
  +<p><span style='font-family:Verdana'>&nbsp;<span class=GramE>create</span>
and
  +export an environment variable called<br>
  +XERCES_HOME. This environment variable should contain the path to the <span
  +class=SpellE>xerces</span> home directory.<br>
   <br>
  -For example if your xerces is installed in<br>
  +For example if your <span class=SpellE>xerces</span> is installed in<br>
   <br>
  -/usr/local/xerces_c folder then <br>
  -$(XERCES_HOME)/lib should expand to /usr/local/xerces_c/lib and<br>
  -$(XERCES_HOME)/include should expand to /usr/local/xerces_c/include<br>
  +/<span class=SpellE>usr/local/xerces_c</span> folder then <br>
  +$(XERCES_HOME)/lib should expand to /<span class=SpellE>usr/local/xerces_c/lib</span>
  +and<br>
  +$(XERCES_HOME)/include should expand to /<span class=SpellE>usr/local/xerces_c/include</span><br>
   <br>
  -cd axiscpp<br>
  +<span class=SpellE>cd</span> <span class=SpellE>axiscpp</span><br>
   make clean<br>
   make<br>
   <br>
  -If the build successful, libaxiscpp.so should have been created in <br>
  -axiscpp/release directory.</p>
  +If the build successful, <span class=SpellE>libaxiscpp.so</span> should have
  +been created in <br>
  +<span class=SpellE>axiscpp</span>/release directory.<o:p></o:p></span></p>
  +
  +<h2><a name="Adding_Testcases"></a><span style='font-family:Verdana'>Adding
<span
  +class=SpellE>Testcases</span><o:p></o:p></span></h2>
  +
  +<p><span style='font-family:Verdana'>See Also: <a href="#TestStructure">Test
  +and Samples Structure</a><o:p></o:p></span></p>
  +
  +<h2><a name=TestStructure></a><a name=ModuleAPI></a><span
style='font-family:
  +Verdana'>Writing Transport Modules<o:p></o:p></span></h2>
  +
  +<p><!--[if gte vml 1]><v:group id="_x0000_s1047" style='position:absolute;
  + margin-left:36pt;margin-top:17.7pt;width:375.35pt;height:1in;z-index:1'
  + coordorigin="640,2314" coordsize="7507,1440">
  + <v:shapetype id="_x0000_t16" coordsize="21600,21600" o:spt="16" adj="5400"
  +  path="m@0,l0@0,,21600@1,21600,21600@2,21600,xem0@0nfl@1@0,21600,em@1@0nfl@1,21600e">
  +  <v:stroke joinstyle="miter"/>
  +  <v:formulas>
  +   <v:f eqn="val #0"/>
  +   <v:f eqn="sum width 0 #0"/>
  +   <v:f eqn="sum height 0 #0"/>
  +   <v:f eqn="mid height #0"/>
  +   <v:f eqn="prod @1 1 2"/>
  +   <v:f eqn="prod @2 1 2"/>
  +   <v:f eqn="mid width #0"/>
  +  </v:formulas>
  +  <v:path o:extrusionok="f" gradientshapeok="t" limo="10800,10800"
  +   o:connecttype="custom" o:connectlocs="@6,0;@4,@0;0,@3;@4,21600;@1,@3;21600,@5"
  +   o:connectangles="270,270,180,90,0,0" textboxrect="0,@0,@1,21600"/>
  +  <v:handles>
  +   <v:h position="topLeft,#0" switch="" yrange="0,21600"/>
  +  </v:handles>
  +  <o:complex v:ext="view"/>
  + </v:shapetype><v:shape id="_x0000_s1028" type="#_x0000_t16" style='position:absolute;
  +  left:3270;top:2314;width:975;height:1378' o:regroupid="1" adj="7067"/>
  + <v:shape id="_x0000_s1029" type="#_x0000_t16" style='position:absolute;left:4035;
  +  top:2314;width:585;height:1332' o:regroupid="1" adj="11483">
  +  <v:textbox style='mso-next-textbox:#_x0000_s1029'/>
  + </v:shape><v:shape id="_x0000_s1030" type="#_x0000_t16" style='position:absolute;
  +  left:5696;top:2321;width:585;height:1332' o:regroupid="1" adj="11483"/>
  + <v:shape id="_x0000_s1031" type="#_x0000_t16" style='position:absolute;left:6088;
  +  top:2322;width:2059;height:1332' o:regroupid="1"/>
  + <v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe">
  +  <v:stroke joinstyle="miter"/>
  +  <v:path gradientshapeok="t" o:connecttype="rect"/>
  + </v:shapetype><v:shape id="_x0000_s1034" type="#_x0000_t202" style='position:absolute;
  +  left:3195;top:2646;width:825;height:1108' o:regroupid="1" filled="f"
  +  stroked="f">
  +  <v:textbox style='layout-flow:vertical;mso-layout-flow-alt:bottom-to-top;
  +   mso-next-textbox:#_x0000_s1034'>
  +   <![if RotText]><![if !mso]>
  +   <table cellpadding=0 cellspacing=0 width="100%">
  +    <tr>
  +     <td><![endif]>
  +     <div>
  +     <p class=MsoNormal align=center style='text-align:center'><b
  +     style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt'>Transport
  +     Module<o:p></o:p></span></b></p>
  +     </div>
  +     <![if !mso]></td>
  +    </tr>
  +   </table>
  +   <![endif]><![endif]></v:textbox>
  + </v:shape><v:shape id="_x0000_s1035" type="#_x0000_t202" style='position:absolute;
  +  left:6401;top:2787;width:1125;height:599' o:regroupid="1" filled="f"
  +  stroked="f">
  +  <v:textbox style='mso-next-textbox:#_x0000_s1035'>
  +   <![if !mso]>
  +   <table cellpadding=0 cellspacing=0 width="100%">
  +    <tr>
  +     <td><![endif]>
  +     <div>
  +     <p class=MsoNormal align=center style='text-align:center'><b
  +     style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt'>Axis
  +     Engine<o:p></o:p></span></b></p>
  +     </div>
  +     <![if !mso]></td>
  +    </tr>
  +   </table>
  +   <![endif]></v:textbox>
  + </v:shape><v:shape id="_x0000_s1036" type="#_x0000_t202" style='position:absolute;
  +  left:3930;top:2869;width:495;height:509' o:regroupid="1" filled="f"
  +  stroked="f">
  +  <v:textbox style='layout-flow:vertical;mso-layout-flow-alt:bottom-to-top;
  +   mso-next-textbox:#_x0000_s1036'>
  +   <![if RotText]><![if !mso]>
  +   <table cellpadding=0 cellspacing=0 width="100%">
  +    <tr>
  +     <td><![endif]>
  +     <div>
  +     <p class=MsoNormal align=center style='text-align:center'><b
  +     style='mso-bidi-font-weight:normal'><span style='font-size:8.0pt'>API<o:p></o:p></span></b></p>
  +     </div>
  +     <![if !mso]></td>
  +    </tr>
  +   </table>
  +   <![endif]><![endif]></v:textbox>
  + </v:shape><v:shape id="_x0000_s1038" type="#_x0000_t202" style='position:absolute;
  +  left:5593;top:2876;width:495;height:509' o:regroupid="1" filled="f"
  +  stroked="f">
  +  <v:textbox style='layout-flow:vertical;mso-layout-flow-alt:bottom-to-top;
  +   mso-next-textbox:#_x0000_s1038'>
  +   <![if RotText]><![if !mso]>
  +   <table cellpadding=0 cellspacing=0 width="100%">
  +    <tr>
  +     <td><![endif]>
  +     <div>
  +     <p class=MsoNormal align=center style='text-align:center'><b
  +     style='mso-bidi-font-weight:normal'><span style='font-size:8.0pt'>API<o:p></o:p></span></b></p>
  +     </div>
  +     <![if !mso]></td>
  +    </tr>
  +   </table>
  +   <![endif]><![endif]></v:textbox>
  + </v:shape><v:shapetype id="_x0000_t69" coordsize="21600,21600" o:spt="69"
  +  adj="4320,5400" path="m,10800l@0,21600@0@3@2@3@2,21600,21600,10800@2,0@2@1@0@1@0,xe">
  +  <v:stroke joinstyle="miter"/>
  +  <v:formulas>
  +   <v:f eqn="val #0"/>
  +   <v:f eqn="val #1"/>
  +   <v:f eqn="sum 21600 0 #0"/>
  +   <v:f eqn="sum 21600 0 #1"/>
  +   <v:f eqn="prod #0 #1 10800"/>
  +   <v:f eqn="sum #0 0 @4"/>
  +   <v:f eqn="sum 21600 0 @5"/>
  +  </v:formulas>
  +  <v:path o:connecttype="custom" o:connectlocs="@2,0;10800,@1;@0,0;0,10800;@0,21600;10800,@3;@2,21600;21600,10800"
  +   o:connectangles="270,270,270,180,90,90,90,0" textboxrect="@5,@1,@6,@3"/>
  +  <v:handles>
  +   <v:h position="#0,#1" xrange="0,10800" yrange="0,10800"/>
  +  </v:handles>
  + </v:shapetype><v:shape id="_x0000_s1041" type="#_x0000_t69" style='position:absolute;
  +  left:4425;top:2870;width:1155;height:405' o:regroupid="1">
  +  <v:textbox style='layout-flow:vertical'/>
  + </v:shape><v:shape id="_x0000_s1044" type="#_x0000_t16" style='position:absolute;
  +  left:640;top:2316;width:1835;height:1438' adj="7067"/>
  + <v:shape id="_x0000_s1045" type="#_x0000_t202" style='position:absolute;
  +  left:761;top:2956;width:1125;height:599' filled="f" stroked="f">
  +  <v:textbox style='mso-next-textbox:#_x0000_s1045'>
  +   <![if !mso]>
  +   <table cellpadding=0 cellspacing=0 width="100%">
  +    <tr>
  +     <td><![endif]>
  +     <div>
  +     <p class=MsoNormal align=center style='text-align:center'><b
  +     style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt'>Transport
  +     Listener<o:p></o:p></span></b></p>
  +     </div>
  +     <![if !mso]></td>
  +    </tr>
  +   </table>
  +   <![endif]></v:textbox>
  + </v:shape><v:shape id="_x0000_s1046" type="#_x0000_t69" style='position:absolute;
  +  left:2175;top:2885;width:1020;height:405'>
  +  <v:textbox style='layout-flow:vertical'/>
  + </v:shape></v:group><![endif]--><![if !vml]><span style='mso-ignore:vglayout;
  +position:absolute;z-index:1;margin-left:47px;margin-top:23px;width:502px;
  +height:99px'><span style='mso-ignore:vglayout;position:absolute;z-index:1;
  +margin-left:169px;margin-top:21px;width:59px;height:78px'><![endif]><![if !RotText]><img
  +width=59 height=78 src="developers-guide_files/image002.gif"
  +alt="Text Box: Transport Module" v:shapes="_x0000_s1034" class=shape v:dpi="96"><![endif]><![if
!vml]></span><span
  +style='mso-ignore:vglayout;position:absolute;z-index:1;margin-left:218px;
  +margin-top:36px;width:37px;height:38px'><![endif]><![if !RotText]><img
  +width=37 height=38 src="developers-guide_files/image003.gif" alt="Text Box: API"
  +v:shapes="_x0000_s1036" class=shape v:dpi="96"><![endif]><![if !vml]></span><span
  +style='mso-ignore:vglayout;position:absolute;z-index:1;margin-left:329px;
  +margin-top:36px;width:37px;height:38px'><![endif]><![if !RotText]><img
  +width=37 height=38 src="developers-guide_files/image004.gif" alt="Text Box: API"
  +v:shapes="_x0000_s1038" class=shape v:dpi="96"><![endif]><![if !vml]></span><img
  +width=502 height=99 src="developers-guide_files/image001.gif" v:shapes="_x0000_s1047 _x0000_s1028
_x0000_s1029 _x0000_s1030 _x0000_s1031 _x0000_s1035 _x0000_s1041 _x0000_s1044 _x0000_s1045
_x0000_s1046"></span><![endif]><span
  +style='font-family:Verdana'>&nbsp;<o:p></o:p></span></p>
  +
  +<p><span style='font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  +
  +<p><span style='font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  +
  +<p><span style='font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  +
  +<p><span style='font-family:Verdana'>Axis C++ is plugged-in to any transport
listener
  +such as Apache Web Server or IIS through a Transport Module. Axis Engine and
  +the Transport Module can be developed in 2 ways.<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo3;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
  +mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
  +style='mso-list:Ignore'><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span style='font-family:Verdana'>They
can be
  +compiled and linked together into a single DLL (or Shared Object) which is
  +plugged into the Transport Listener. This way reduces one level of indirection
  +and leads to performance.<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo3;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
  +mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
  +style='mso-list:Ignore'><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span style='font-family:Verdana'>They
can be
  +made 2 separate DLLs (or Shared Objects). Advantage of this method is that the
  +2 modules can be developed separately.<o:p></o:p></span></p>
  +
  +<p><span style='font-family:Verdana'>Module should be written specifically
for
  +each kind of Transport Listener (Apache or IIS) whereas the <span class=SpellE>AxisEngine</span>
  +is not specific to Transport Listener. <o:p></o:p></span></p>
  +
  +<p><span style='font-family:Verdana'>So this API defines the way that Transport
  +Module communicates with the <span class=SpellE>AxisEngine</span>. <o:p></o:p></span></p>
  +
  +<h3><span style='font-family:Verdana'>Module side API<o:p></o:p></span></h3>
  +
  +<p><span style='font-family:Verdana'>There is a set of functions to be
  +implemented by each module. <span class=SpellE>AxisEngine</span> needs the
  +module to implement them.<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana;
  +mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  +style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span class=SpellE><span
style='font-family:
  +Verdana'>int</span></span><span style='font-family:Verdana'> <span
  +class=SpellE>send_transport_information</span>(<span class=SpellE>TransportInfo</span>*)<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana;
  +mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  +style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span class=SpellE><span
style='font-family:
  +Verdana'>int</span></span><span style='font-family:Verdana'> <span
  +class=SpellE>get_request_bytes</span>(char*, <span class=SpellE>int</span>,
<span
  +class=SpellE>int</span>*)<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana;
  +mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  +style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span class=SpellE><span
style='font-family:
  +Verdana'>int</span></span><span style='font-family:Verdana'> <span
  +class=SpellE>send_response_bytes</span>(char*)<o:p></o:p></span></p>
  +
  +<p><span class=SpellE><b style='mso-bidi-font-weight:normal'><span
  +style='font-family:Verdana'>send_transport_information</span></b></span><b
  +style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'><o:p></o:p></span></b></p>
  +
  +<p><span class=SpellE><span style='font-family:Verdana'>AxisEngine</span></span><span
  +style='font-family:Verdana'> may call this function to send transport specific
  +information of the response (<span class=GramE>Ex :</span> http headers for
  +HTTP transport).<o:p></o:p></span></p>
  +
  +<p><span class=SpellE><b style='mso-bidi-font-weight:normal'><span
  +style='font-family:Verdana'>get_request_bytes</span></b></span><b
  +style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'><o:p></o:p></span></b></p>
  +
  +<p><span class=SpellE><span style='font-family:Verdana'>AxisEngine</span></span><span
  +style='font-family:Verdana'> calls this function whenever it needs more soap
  +request bytes in the incoming stream. <span class=SpellE>AxisEngine</span>
may
  +call this function more than once. <o:p></o:p></span></p>
  +
  +<p><span class=SpellE><b style='mso-bidi-font-weight:normal'><span
  +style='font-family:Verdana'>send_response_bytes</span></b></span><b
  +style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'><o:p></o:p></span></b></p>
  +
  +<p><span class=SpellE><span style='font-family:Verdana'>AxisEngine</span></span><span
  +style='font-family:Verdana'> calls this function whenever it wants to send a
  +fragment of soap response to the Transport Listener. This function may also be
  +called by the <span class=SpellE>AxisEngine</span> more than once depending
on
  +the size of the response. The transport listener may accumulate or send each
  +fragment at each function call.<o:p></o:p></span></p>
  +
  +<h3><span class=SpellE><span style='font-family:Verdana'>AxisEngine</span></span><span
  +style='font-family:Verdana'> side API<o:p></o:p></span></h3>
  +
  +<p><span class=SpellE><span style='font-family:Verdana'>AxisEngine</span></span><span
  +style='font-family:Verdana'> has implemented following functions to be used by
  +any Transport Module.<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo5;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana;
  +mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  +style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span class=SpellE><span
style='font-family:
  +Verdana'>int</span></span><span style='font-family:Verdana'> <span
  +class=SpellE>initialize_module</span>()<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo5;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana;
  +mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  +style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span class=SpellE><span
style='font-family:
  +Verdana'>int</span></span><span style='font-family:Verdana'> <span
  +class=SpellE>initialize_process</span>()<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo5;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana;
  +mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  +style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span class=SpellE><span
style='font-family:
  +Verdana'>int</span></span><span style='font-family:Verdana'> <span
  +class=SpellE>process_request</span>(<span class=SpellE>TransportInfo</span>*)<o:p></o:p></span></p>
  +
  +<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo5;
  +tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana;
  +mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  +style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
  +</span></span></span><![endif]><span class=SpellE><span
style='font-family:
  +Verdana'>int</span></span><span style='font-family:Verdana'> <span
  +class=SpellE>finalize_process</span>()<o:p></o:p></span></p>
  +
  +<p><span class=SpellE><b style='mso-bidi-font-weight:normal'><span
  +style='font-family:Verdana'>initialize_module</span></b></span><b
  +style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'><o:p></o:p></span></b></p>
  +
  +<p><span style='font-family:Verdana'>Transport Module <b style='mso-bidi-font-weight:
  +normal'>MUST </b>call this function when it loads the <span class=SpellE>AxisEngine</span>.
  +If this function returns FAIL it cannot be assured that the <span class=SpellE>AxisEngine</span>
  +works properly. Loading of all <span class=SpellE>AxisEngine&#8217;s</span>
  +components (DLLs) are done within this function.<o:p></o:p></span></p>
  +
  +<p><span class=SpellE><b style='mso-bidi-font-weight:normal'><span
  +style='font-family:Verdana'>initialize_process</span></b></span><b
  +style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'><o:p></o:p></span></b></p>
  +
  +<p><span style='font-family:Verdana'>As the <span class=SpellE>AxisEngine</span>
  +is single threaded model, simultaneous requests are served by several processes
  +spawned. So when each process is spawned, its initialization should be done.
  +Therefore the Transport Module <b style='mso-bidi-font-weight:normal'>MUST </b>call
  +this API function when it spawns a new <span class=SpellE>AxisEngine</span>
  +process.<o:p></o:p></span></p>
  +
  +<p><span class=SpellE><b style='mso-bidi-font-weight:normal'><span
  +style='font-family:Verdana'>process_request</span></b></span><b
  +style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'><o:p></o:p></span></b></p>
  +
  +<p><span style='font-family:Verdana'>Transport Module calls this function for
  +each soap request. Transport Module should fill a <span class=SpellE>TransportInfo</span>
  +structure with the relevant transport information and pass it to the <span
  +class=SpellE>process_request</span> function. Returning FAIL indicates a
  +critical error in processing the soap request (not a generation of Soap Fault).<o:p></o:p></span></p>
  +
  +<p><span class=SpellE><b style='mso-bidi-font-weight:normal'><span
  +style='font-family:Verdana'>finalize_process</span></b></span><b
  +style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'> <o:p></o:p></span></b></p>
  +
  +<p><span style='font-family:Verdana'>This function does the opposite of what
<span
  +class=SpellE>initialize_process</span> does and <b style='mso-bidi-font-weight:
  +normal'>MUST </b><span class=GramE>be<span style='mso-spacerun:yes'>
  +</span>called</span> by Transport Module for the process end.<o:p></o:p></span></p>
  +
  +<p><span style='font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  +
  +<h2><span style='font-family:Verdana'>Test Structure<o:p></o:p></span></h2>
  +
  +<p><span style='font-family:Verdana'>&nbsp;<o:p></o:p></span></p>
  +
  +<h2><a name=CodeChecks></a><span style='font-family:Verdana'>Adding
Source Code
  +Checks<o:p></o:p></span></h2>
  +
  +<p><span style='font-family:Verdana'>&nbsp;<o:p></o:p></span></p>
  +
  +<h2><a name=JUnit></a><span class=SpellE><span style='font-family:Verdana'>CUnit</span></span><span
  +style='font-family:Verdana'> and Axis<o:p></o:p></span></h2>
   
  -<h2>
  -<a NAME="Adding Testcases"></a><font color="#000000">Adding Testcases</font></h2>
  -<P>See Also: <a href="#TestStructure">Test and Samples Structure</a></P>
  -<font color="#000000">
  -
  -<h2><a NAME="TestStructure"></a>Test Structure</H2>
  -
  -<p>&nbsp;</p>
  -<h2>
  -<a NAME="CodeChecks"></a>Adding Source Code Checks</h2>
  -<p>
  -&nbsp;<h2>
  -<a NAME="JUnit"></a>CUnit and Axis</h2>
  -
  -<p>
  -&nbsp;<h2>
  -<a NAME="Debugging"></a>Debugging</h2>
  +<p><span style='font-family:Verdana'>&nbsp;<o:p></o:p></span></p>
  +
  +<h2><a name=Debugging></a><span style='font-family:Verdana'>Debugging<o:p></o:p></span></h2>
  +
  +</div>
   
   </body>
  -</html>
  \ No newline at end of file
  +
  +</html>
  
  
  

Mime
View raw message