You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2007/04/27 14:39:46 UTC
svn commit: r533081 [10/23] - in /webservices/axis2/site: ./ 1_2/ 1_2/adb/
1_2/adb/images/ 1_2/images/ 1_2/images/archi-guide/ 1_2/images/userguide/
1_2/jibx/ 1_2/resources/ 1_2/resources/schemas/ 1_2/src/ css/ download/0_9/
download/0_91/ download/0_9...
Added: webservices/axis2/site/1_2/soapmonitor-module.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_2/soapmonitor-module.html?view=auto&rev=533081
==============================================================================
--- webservices/axis2/site/1_2/soapmonitor-module.html (added)
+++ webservices/axis2/site/1_2/soapmonitor-module.html Fri Apr 27 05:39:33 2007
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Axis2/Java - The SOAP Monitor Module</title><style type="text/css" media="all">
+ @import url("../style/maven-base.css");
+
+ @import url("../style/maven-theme.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis2" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
+ Last published: 27 April 2007
+ | Doc for 1.2</div><div class="xright">
+
+ <a href="../index.html">Axis2/Java</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org/axis2/c" class="externalLink" title="External Link">Axis2/C</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org" class="externalLink" title="External Link">Apache WS</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://www.apache.org" class="externalLink" title="External Link">Apache </a>
+ </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_Java"><h5>Axis2/Java</h5><ul><li class="none"><a href="../index.html">Home</a></li></ul></div><div id="menuDownloads"><h5>Downloads</h5><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="../modules/index.html">Modules</a></li><li class="none"><a href="../tools/index.html">Tools</a></li></ul></div><div id="menuDocumentation"><h5>Documentation</h5><ul><li class="expanded"><a href="../1_2/contents.html">Version 1.2</a><ul><li class="none"><a href="../1_2/toc.html">Table of Contents</a></li><li class="none"><a href="../1_2/installationguide.html">Installation Guide</a></li><li class="none"><a href="../1_2/quickstartguide.html">QuickStart Guide</a></li><li class="none"><a href="../1_2/userguide.html">User Guide</a></li><li class="none"><a href="../1_2/pojoguide.html">POJO Guide</a></li><li class="none"><a href="../1_2/spring.html">
Spring Guide</a></li><li class="none"><a href="../1_2/webadminguide.html">Web Administrator's Guide</a></li><li class="none"><a href="../1_2/migration.html">Migration Guide (from Axis1)</a></li></ul></li><li class="none"><a href="../1_1_1/index.html">Version 1.0</a></li><li class="none"><a href="../1_1/index.html">Version 1.0</a></li><li class="none"><a href="../1_0/index.html">Version 1.0</a></li><li class="none"><a href="../0_95/index.html">Version 0.95</a></li><li class="none"><a href="../0_94/index.html">Version 0.94</a></li><li class="none"><a href="../0_93/index.html">Version 0.93</a></li></ul></div><div id="menuResources"><h5>Resources</h5><ul><li class="none"><a href="../faq.html">FAQ</a></li><li class="none"><a href="../articles.html">Articles</a></li><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="External Link">Wiki</a></li><li class="none"><a href="../refLib.html">Reference Library</a></li><li class="none"><a href
="http://ws.apache.org/axis2/1_2/api/index.html" class="externalLink" title="External Link">Online Java Docs</a></li></ul></div><div id="menuGet_Involved"><h5>Get Involved</h5><ul><li class="none"><a href="../overview.html">Overview</a></li><li class="none"><a href="../svn.html">Checkout the Source</a></li><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../guidelines.html">Developer Guidelines</a></li><li class="none"><a href="../siteHowTo.html">Build the Site</a></li></ul></div><div id="menuProject_Information"><h5>Project Information</h5><ul><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="../issue-tracking.html">Issue Tracking</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li><li class="none"><a href="../thanks.html">Acknowledgements</a></li><li class="none"><a hr
ef="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="External Link">License</a></li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Using_the_SOAP_Monitor"></a><h2>Using the SOAP Monitor</h2><p>Web service developers often want to see the SOAP messages that are being
+used to invoke the Web services, along with the results of those messages.
+The goal of the SOAP Monitor utility is to provide a way for the developers
+to monitor these SOAP messages without requiring any special configuration or
+restarting the server.</p><p>In this utility, a handler has been written and added to the global
+handler chain. As SOAP requests and responses are received, the SOAP message
+information is forwarded to a SOAP monitor service where it can be displayed
+using a Web browser interface. The SOAP message information is accessed by a
+Web browser by going to http://localhost:8080/axis2/SOAPMonitor (where 8080
+is the port number where the application server is running). The SOAP message
+information is displayed through a Web browser by using an applet that opens
+a socket connection to the SOAP monitor service. This applet requires a Java
+plug-in 1.3 or higher to be installed in your browser. If you do not have a
+correct plug-in, the browser will prompt you to install one. The port used by
+the SOAP monitor service to communicate with applets is configurable. Edit
+the web.xml file to change the port used by the Axis2 Web application.</p><p>The SOAP Monitor module (soapmonitor.mar) is available in the axis2.war
+but it is not engaged by default. The SOAP Monitor is NOT enabled by default
+for security reasons.</p><p>The SOAP Monitor can be engaged by inserting the following in the
+axis2.xml file.</p>
+ <div class="source"><pre><pre> <module ref="soapmonitor"/></pre>
+</pre></div>
+ <p>In the axis2.xml file, define your phase orders for the 'soapmonitorPhase'
+referenced in the module.xml of soapmonitor.mars. Below is an example which
+should NOT be copied exactly, since the default phases change occasionally.
+The important point here is that 'soapmonitorPhase' should be placed under
+the 'user can add his own phases to this area' comment in the 'inflow',
+'outflow', 'INfaultflow', and 'Outfaultflow' sections.</p>
+ <div class="source"><pre> <phaseOrder type="inflow">
+ <!--System pre defined phases-->
+ <phase name="TransportIn"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+ <handler name="AddressingBasedDispatcher"
+ class="org.apache.axis2.engine.AddressingBasedDispatcher">
+ <order phase="Dispatch"/>
+ </handler>
+ <handler name="RequestURIBasedDispatcher"
+ class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+ <order phase="Dispatch"/>
+ </handler>
+ <handler name="SOAPActionBasedDispatcher"
+ class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+ <order phase="Dispatch"/>
+ </handler>
+ <handler name="SOAPMessageBodyBasedDispatcher"
+ class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+ <order phase="Dispatch"/>
+ </handler>
+ <handler name="InstanceDispatcher"
+ class="org.apache.axis2.engine.InstanceDispatcher">
+ <order phase="PostDispatch"/>
+ </handler>
+ </phase>
+ <!--System pre defined phases-->
+ <!--After Postdispatch phase module author or or service author can add any phase he want-->
+ <phase name="userphase1"/>
+ <phase name="soapmonitorPhase"/>
+ </phaseOrder>
+ <phaseOrder type="outflow">
+ <!--user can add his own phases to this area-->
+ <phase name="userphase1"/>
+ <phase name="soapmonitorPhase"/>
+ <!--system predefined phase-->
+ <!--these phase will run irrespective of the service-->
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ </phaseOrder>
+ <phaseOrder type="INfaultflow">
+ <!--user can add his own phases to this area-->
+ <phase name="userphase1"/>
+ <phase name="soapmonitorPhase"/>
+ </phaseOrder>
+ <phaseOrder type="Outfaultflow">
+ <!--user can add his own phases to this area-->
+ <phase name="userphase1"/>
+ <phase name="soapmonitorPhase"/>
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ </phaseOrder>
+
+</pre></div>
+ <p>To configure the servlet to communicate with the applet, add the following
+code to the web.xml (The SOAPMonitorPort is configurable.):</p>
+ <div class="source"><pre> <servlet>
+ <servlet-name>SOAPMonitorService</servlet-name>
+ <display-name>SOAPMonitorService</display-name>
+ <servlet-class>
+ org.apache.axis2.soapmonitor.servlet.SOAPMonitorService
+ </servlet-class>
+ <init-param>
+ <param-name>SOAPMonitorPort</param-name>
+ <param-value>5001</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>SOAPMonitorService</servlet-name>
+ <url-pattern>/SOAPMonitor</url-pattern>
+ </servlet-mapping>
+
+</pre></div>
+ <p>Finally, compile the applet classes and place them at the root (eg:
+<CATALINA_HOME>/webapps/axis2/) of the extracted WAR file. You can find
+the SOAPMonitorApplet.java in the source distribution. To compile, use the
+following command:</p>
+ <div class="source"><pre>javac -classpath axis2-soapmonitor.jar SOAPMonitorApplet.java
+
+</pre></div>
+ <p>Alternatively, you can directly get the <strong>compiled applet
+classes</strong> from the WEB-INF/lib/axis2-soapmonitor-*.jar which is inside
+the extracted axis2.war. To extract the axis2-soapmonitor-*.jar file, simply
+execute the command, <code>jar -xf axis2-soapmonitor-*.jar</code> and place
+the compiled applet classes in the root directory of the extracted WAR, for
+example, in <CATALINA_HOME>/webapps/axis2/.</p><p>Using a Web browser, go to http[s]://host[:port][/webapp]/SOAPMonitor
+(e.g.http://localhost:8080/axis2/SOAPMonitor) substituting the correct values
+for your Web application. This will show the SOAP Monitor applet used to view
+the service requests and responses. Any requests to services that have been
+configured and deployed correctly should show up in the applet.</p><p>The SOAPMonitor with attachments currently serializes themselves as base64
+characters. It is therefore recommended to use the TCPMon tool to correctly
+capture MTOM and SWA messages as an multipart mime where the binary data is
+an attachment.</p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2007, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
Added: webservices/axis2/site/1_2/spring.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_2/spring.html?view=auto&rev=533081
==============================================================================
--- webservices/axis2/site/1_2/spring.html (added)
+++ webservices/axis2/site/1_2/spring.html Fri Apr 27 05:39:33 2007
@@ -0,0 +1,443 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Axis2/Java - Axis2 integration with the Spring Framework</title><style type="text/css" media="all">
+ @import url("../style/maven-base.css");
+
+ @import url("../style/maven-theme.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis2" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
+ Last published: 27 April 2007
+ | Doc for 1.2</div><div class="xright">
+
+ <a href="../index.html">Axis2/Java</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org/axis2/c" class="externalLink" title="External Link">Axis2/C</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org" class="externalLink" title="External Link">Apache WS</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://www.apache.org" class="externalLink" title="External Link">Apache </a>
+ </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_Java"><h5>Axis2/Java</h5><ul><li class="none"><a href="../index.html">Home</a></li></ul></div><div id="menuDownloads"><h5>Downloads</h5><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="../modules/index.html">Modules</a></li><li class="none"><a href="../tools/index.html">Tools</a></li></ul></div><div id="menuDocumentation"><h5>Documentation</h5><ul><li class="expanded"><a href="../1_2/contents.html">Version 1.2</a><ul><li class="none"><a href="../1_2/toc.html">Table of Contents</a></li><li class="none"><a href="../1_2/installationguide.html">Installation Guide</a></li><li class="none"><a href="../1_2/quickstartguide.html">QuickStart Guide</a></li><li class="none"><a href="../1_2/userguide.html">User Guide</a></li><li class="none"><a href="../1_2/pojoguide.html">POJO Guide</a></li><li class="none"><a href="../1_2/spring.html">
Spring Guide</a></li><li class="none"><a href="../1_2/webadminguide.html">Web Administrator's Guide</a></li><li class="none"><a href="../1_2/migration.html">Migration Guide (from Axis1)</a></li></ul></li><li class="none"><a href="../1_1_1/index.html">Version 1.0</a></li><li class="none"><a href="../1_1/index.html">Version 1.0</a></li><li class="none"><a href="../1_0/index.html">Version 1.0</a></li><li class="none"><a href="../0_95/index.html">Version 0.95</a></li><li class="none"><a href="../0_94/index.html">Version 0.94</a></li><li class="none"><a href="../0_93/index.html">Version 0.93</a></li></ul></div><div id="menuResources"><h5>Resources</h5><ul><li class="none"><a href="../faq.html">FAQ</a></li><li class="none"><a href="../articles.html">Articles</a></li><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="External Link">Wiki</a></li><li class="none"><a href="../refLib.html">Reference Library</a></li><li class="none"><a href
="http://ws.apache.org/axis2/1_2/api/index.html" class="externalLink" title="External Link">Online Java Docs</a></li></ul></div><div id="menuGet_Involved"><h5>Get Involved</h5><ul><li class="none"><a href="../overview.html">Overview</a></li><li class="none"><a href="../svn.html">Checkout the Source</a></li><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../guidelines.html">Developer Guidelines</a></li><li class="none"><a href="../siteHowTo.html">Build the Site</a></li></ul></div><div id="menuProject_Information"><h5>Project Information</h5><ul><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="../issue-tracking.html">Issue Tracking</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li><li class="none"><a href="../thanks.html">Acknowledgements</a></li><li class="none"><a hr
ef="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="External Link">License</a></li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Axis2_Integration_with_the_Spring_Framework"></a><h2>Axis2 Integration with the Spring Framework</h2><p>This document is a guide on how to use Axis2 with the Spring Framework</p><div class="subsection"><a name="Content"></a><h3>Content</h3><ul>
+ <li><a href="#1">Introduction</a></li>
+ <li><a href="#2">Configuring Axis2 to be Spring Aware</a>
+ <ul>
+ <li><a href="#21">Programming Model</a></li>
+ <li><a href="#22">Simple Spring Config Example</a></li>
+ <li><a href="#23">With a ServletContext</a></li>
+ <li><a href="#24">Without a ServletContext</a></li>
+ <li><a href="#25">Putting it All Together</a></li>
+ <li><a href="#26">Spring Inside an AAR </a>
+ <ul>
+ <li><a href="#261">The Spring Inside an AAR Layout</a></li>
+ <li><a href="#262">The Spring Inside an AAR init Class</a></li>
+ <li><a href="#263">Known Issues Running Spring Inside the
+ AAR</a></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+</ul><p><a name="1"></a></p></div><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>Axis2 and Spring integration takes place when Spring supplies one of its
+pre-loaded beans to the Axis2 Message Receiver defined in the AAR
+services.xml. Axis2 typically uses reflection to instantiate the ServiceClass
+defined in the services.xml used by the Message Receiver. Alternatively, you
+can define a ServiceObjectSupplier that will supply the Object.</p><p>This guide describes how to use two separate ServiceObjectSupplier classes
+that are a part of the Axis2 standard distribution - one for use with a
+ServletContext, and one without. Once configured, the Web service itself acts
+like any other Spring wired bean. These Spring beans can be loaded any way
+desired as Axis2 has no configuration file dependencies from Spring. Spring
+versions 1.2.6, 1.2.8 and 2.0 have been tested, but probably any version
+would work as only the core functionality is required.</p><p>This guide assumes some basic knowledge of Axis2. See the <a href="userguide.html">User's Guide</a> for more information.</p><p><a name="2"></a></p></div><div class="subsection"><a name="Programming_Model"></a><h3>Programming Model</h3><p>From an Axis2 standpoint, two hooks are needed to be placed into the AAR
+services.xml - the ServiceObjectSupplier that hooks Axis2 and Spring
+together, and the name of the Spring bean that Axis2 will use as the service.
+All Message Receivers are currently supported, as would be any Message
+Receiver that extends org.apache.axis2.receivers.AbstractMessageReceiver .</p><p><a name="22"></a></p></div><div class="subsection"><a name="Simple_Spring_Config_Example"></a><h3>Simple Spring Config Example</h3><p>For the purpose of this example, we'll configure Spring via a WAR file's
+web.xml. Let's add a context-param and a listener:</p>
+ <div class="source"><pre><listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+</listener>
+<context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>/WEB-INF/applicationContext.xml</param-value>
+</context-param>
+
+</pre></div>
+ <p>Next we will show two examples of Spring's /WEB-INF/applicationContext.xml
+referenced in the web.xml listener - one using a ServletContext, and one
+without.</p><p><a name="23"></a></p></div><div class="subsection"><a name="With_a_ServletContext"></a><h3>With a ServletContext</h3><p>This example (with a ServletContext) applicationContext.xml should be
+familiar to any Spring user:</p>
+ <div class="source"><pre><?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
+
+<beans>
+ <!-- Axis2 Web Service, but to Spring, its just another bean that has dependencies -->
+ <bean id="springAwareService" class="spring.SpringAwareService">
+ <property name="myBean" ref="myBean"/>
+ </bean>
+
+ <!-- just another bean / interface with a wired implementation, that's injected by Spring
+ into the Web Service -->
+ <bean id="myBean" class="spring.MyBeanImpl">
+ <property name="val" value="Spring, emerge thyself" />
+ </bean>
+</beans>
+
+</pre></div>
+ <p>If the service is running in a Servlet Container, i.e., Axis2 will be able
+to get a hold of the ServletContext, the services.xml for the example would
+be using SpringServletContextObjectSupplier such as:</p>
+ <div class="source"><pre> <service name="SpringAwareService">
+ <description>
+ simple spring example
+ </description>
+ <parameter name="ServiceObjectSupplier" locked="false">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter>
+ <parameter name="SpringBeanName" locked="false">springAwareService</parameter>
+ <operation name="getValue">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ </operation>
+</service>
+
+</pre></div>
+ <p>While the above example uses RawXMLINOutMessageReceiver as its
+messageReceiver class, all Message Receivers are currently supported, as
+would be any Message Receiver that extends
+org.apache.axis2.receivers.AbstractMessageReceiver .</p><p><a name="24"></a></p></div><div class="subsection"><a name="Without_a_ServletContext"></a><h3>Without a ServletContext</h3><p>In case Axis2 can't get a ServletContext, (i.e., uses a different
+transport or is running Axis2 inside the AAR etc,) you have the option of
+defining a bean that takes advantage of Spring's internal abilities
+(ApplicationContextAware interface, specifically) to provide an Application
+Context to Axis2, with a bean ref 'applicationContext' :</p>
+ <div class="source"><pre><?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
+
+<beans>
+ <!-- Configure spring to give a hook to axis2 without a ServletContext -->
+ <bean id="applicationContext"
+ class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
+
+ <!-- Axis2 Web Service, but to Spring, its just another bean that has dependencies -->
+ <bean id="springAwareService"
+ class="spring.SpringAwareService">
+ <property name="myBean" ref="myBean" />
+ </bean>
+
+ <!-- just another bean with a wired implementation, that's injected by Spring
+ into the Web Service -->
+ <bean id="myBean"
+ class="spring.MyBeanImpl">
+ <property name="val" value="Spring, emerge thyself" />
+ </bean>
+</beans>
+
+</pre></div>
+ <p>If the service is <strong>not</strong> running in a Servlet Container,
+i.e., Axis2 will not be able to get a hold of ServletContext or you prefer
+not to, the services.xml for the example will be using
+SpringAppContextAwareObjectSupplier such as:</p>
+ <div class="source"><pre> <service name="SpringAwareService">
+ <description>
+ simple spring example
+ </description>
+ <parameter name="ServiceObjectSupplier" locked="false">org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier</parameter>
+ <parameter name="SpringBeanName" locked="false">springAwareService</parameter>
+ <operation name="getValue">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ </operation>
+</service>
+
+</pre></div>
+ <p>While the above example uses RawXMLINOutMessageReceiver as its
+messageReceiver class, all Message Receivers are currently supported, as
+would be any Message Receiver that extends
+org.apache.axis2.receivers.AbstractMessageReceiver .</p><p>In an environment <strong>without a ServletContext</strong>, one way you
+could load the applicationContext.xml file is in a place that will be run
+once. Upon start-up, execute the following:</p>
+ <div class="source"><pre>import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+ public void createSpringAppCtx(ClassLoader cl)
+ throws Exception {
+
+ ClassPathXmlApplicationContext ctx = new
+ ClassPathXmlApplicationContext(new String[] {Constants.MY_PATH +
+ "spring/applicationContext.xml"}, false);
+ ctx.setClassLoader(cl);
+ ctx.refresh();</pre></div>
+ <p>
+} <a name="25"></a></p></div><div class="subsection"><a name="Putting_It_All_Together"></a><h3>Putting It All Together</h3><p>From here, it's just standard Axis2 coding. Only now the service has
+Spring wiring capabilities. The implementation is the same whether using
+either SpringServletContextObjectSupplier or
+SpringAppContextAwareObjectSupplier. The service is as follows:</p>
+ <div class="source"><pre>package spring;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.OMText;
+
+public class SpringAwareService {
+
+ private MyBean myBean = null;
+
+ //spring 'injects' this implementation
+ public void setMyBean(MyBean myBean) {
+ this.myBean = myBean;
+ }
+
+ // The web service
+ public OMElement getValue(OMElement ignore) {
+ OMFactory factory=
+ OMAbstractFactory.getOMFactory();
+ OMNamespace payloadNs= factory.createOMNamespace(
+ "http://springExample.org/example1", "example1");
+ OMElement payload =
+ factory.createOMElement("string", payloadNs);
+ OMText response = factory.createOMText(this.myBean.emerge());
+ payload.addChild(response);
+ return payload;
+ }
+}
+
+</pre></div>
+ <p>For those who are new to Spring, one of the ideas is that you program an
+Interface, as the implementation is pluggable. This idea is referenced in the
+Spring config file above. Below is the interface:</p>
+ <div class="source"><pre>package spring;
+
+/** Interface for Spring aware Bean */
+public interface MyBean {
+ String emerge();
+}
+
+</pre></div>
+ <p>Here's the implementation:</p>
+ <div class="source"><pre>/** Spring wired implementation */
+public class MyBeanImpl implements MyBean {
+
+ String str = null;
+ // spring 'injects' this value
+ public void setVal(String s) {
+ str = s;
+ }
+ // web service gets this value
+ public String emerge() {
+ return str;
+ }
+}
+
+</pre></div>
+ <p>Lastly here's the client - not really necessary for the example, other
+than for completeness:</p>
+ <div class="source"><pre>package client;
+
+import java.io.StringWriter;
+
+import javax.xml.stream.XMLOutputFactory;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+
+public class TestClient {
+ private static EndpointReference targetEPR =
+ new EndpointReference(
+ "http://localhost:8080/axis2/services/SpringAwareService");
+
+ /**
+ * Simple axis2 client.
+ *
+ * @param args Main
+ */
+ public static void main(String[] args) {
+ try {
+ OMFactory factory = OMAbstractFactory.getOMFactory();
+ OMNamespace omNs = factory.createOMNamespace(
+ "http://springExample.org/example1", "example1");
+
+ OMElement method = factory.createOMElement("getValue", omNs);
+ OMElement value = factory.createOMElement("Text", omNs);
+ value.addChild(factory.createOMText(value, "Some String "));
+ method.addChild(value);
+
+ ServiceClient serviceClient = new ServiceClient();
+
+ Options options = new Options();
+ serviceClient.setOptions(options);
+ options.setTo(targetEPR);
+
+ //Blocking invocation
+ OMElement result = serviceClient.sendReceive(method);
+
+ StringWriter writer = new StringWriter();
+ result.serialize(XMLOutputFactory.newInstance()
+ .createXMLStreamWriter(writer));
+ writer.flush();
+
+ System.out.println("Response: " + writer.toString());
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+}
+
+</pre></div>
+ <p>The examples above assume that both the spring framework .jar and the
+axis2-spring-*.jar are under WEB-INF/lib. In such a case, the classes shown
+in this tutorial need to be placed in a JAR under WEB-INF/lib. In this
+example the JAR layout is:</p>
+ <div class="source"><pre><pre>./mySpring.jar
+./META-INF
+./META-INF/MANIFEST.MF
+./spring
+./spring/MyBean.class
+./spring/MyBeanImpl.class
+./spring/SpringAwareService.class</pre>
+</pre></div>
+ <p>Since all the user classes are in mySpring.jar in this example, the AAR
+merely contains the services.xml file:</p>
+ <div class="source"><pre><pre>./springExample.aar
+./META-INF
+./META-INF/MANIFEST.MF
+./META-INF/services.xml</pre>
+</pre></div>
+ <p>To run this example, make sure you have the axis2-spring*.jar that comes
+from the axis2-std-*-bin distro in the server side WEB-INF/lib, as well as
+the appropriate Spring jar - most will use the full spring.jar, but the
+minimum requirements are spring-core, spring-beans, spring-context, and
+spring-web. When running the client, you should see this output:</p>
+ <div class="source"><pre>Response: <example1:string xmlns:example1="http://springExample.org/example1"
+ xmlns:tns="http://ws.apache.org/axis2">Spring, emerge thyself</example1:string>
+</pre></div>
+ <p><a name="26"></a></p></div><div class="subsection"><a name="Spring_Inside_an_AAR"></a><h3>Spring Inside an AAR</h3><p>Axis2 users frequently want to run Spring inside the AAR. Here we show you
+how it is done. There are four points to be aware of:</p><p>(A) You need to configure Spring to use the Axis2 Service Classloader. See
+the <a href="#263">Known issues running Spring inside the AAR</a> area.</p><p>(B) It's up to you to load Spring, though we give an example below.</p><p>(C) For reasons such as classloader isolation, the
+SpringAppContextAwareObjectSupplier is the best choice.</p><p>(D) The springframework .jar and axis2-spring-*.jar will be placed inside
+the AAR under the lib directory. Please <strong>move</strong> the
+axis2-spring-*.jar from WEB-INF/lib to inside the AAR, as shown below - it
+will <strong>not</strong> work otherwise.</p><ul>
+ <li><strong><a name="261"></a>The Spring inside an AAR layout</strong></li>
+</ul>
+ <div class="source"><pre><pre>./springExample.aar
+./META-INF
+./META-INF/MANIFEST.MF
+./META-INF/services.xml
+./applicationContext.xml
+./lib
+./lib/axis2-spring-SNAPSHOT.jar
+./lib/spring.jar
+./spring
+./spring/MyBean.class
+./spring/MyBeanImpl.class
+./spring/SpringAwareService.class
+./spring/SpringInit.class </pre>
+</pre></div>
+ <p>As explained in the <a href="#24">Without a ServletContext</a> section,
+the 'Spring inside an AAR' config needs to hook Axis2 and Spring together via
+a Spring bean. Place the following in your Spring config file:</p>
+ <div class="source"><pre> <!-- Configure spring to give a hook to axis2 without a ServletContext -->
+ <bean id="applicationContext"
+ class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
+</pre></div>
+ <ul>
+ <li><strong><a name="262"></a>The Spring inside an AAR init
+ class</strong></li>
+</ul><p>One way to initialize Spring inside the AAR is to use the
+org.apache.axis2.engine.ServiceLifeCycle interface. Here we give an
+example:</p>
+ <div class="source"><pre><pre>package spring;
+
+import org.apache.axis2.engine.ServiceLifeCycle;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.description.AxisService;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class SpringInit implements ServiceLifeCycle {
+
+ /**
+ * This will be called during the deployement time of the service.
+ * irrespective
+ * of the service scope this method will be called
+ */
+ public void startUp(ConfigurationContext ignore, AxisService service) {
+
+ try {
+ System.out.println("Starting spring init");
+ ClassLoader classLoader = service.getClassLoader();
+ ClassPathXmlApplicationContext appCtx = new
+ ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"}, false);
+ appCtx.setClassLoader(classLoader);
+ appCtx.refresh();
+ System.out.println("spring loaded");
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * This will be called during the system shut down time.
+ * irrespective
+ * of the service scope this method will be called
+ */
+ public void shutDown(ConfigurationContext ctxIgnore, AxisService ignore) {
+ }
+}</pre>
+</pre></div>
+ <p>Here's the services.xml that now includes SpringInit and the
+SpringAwareService shown above. There is also the composite parameter which
+is needed when loading Spring in the AAR - see the <a href="#263">Known
+issues running Spring inside the AAR</a> area.</p>
+ <div class="source"><pre><pre><serviceGroup>
+ <!-- Invoke SpringInit on server startup and shutdown -->
+ <service name="SpringAwareService" class="spring.SpringInit">
+ <description>
+ simple spring example - inside the AAR
+ </description>
+ <!-- need the TCCL param when using spring inside the AAR -->
+ <parameter name="ServiceTCCL" locked="false">composite</parameter>
+ <parameter name="ServiceObjectSupplier" locked="false">org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier</parameter>
+ <parameter name="SpringBeanName" locked="false">springAwareService</parameter>
+ <operation name="getValue">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ </operation>
+ </service>
+</serviceGroup></pre>
+</pre></div>
+ <ul>
+ <li><strong><a name="263"></a>Known issues running Spring inside the
+ AAR</strong></li>
+</ul><p>By default, the Axis2 classloader strategy does not permit Spring to run
+inside the AAR. To allow Spring to run inside the AAR, the 'composite'
+parameter is used in the services.xml as shown in the example above. There
+was default behavior of 'composite' in the development cycle in between 1.0
+and 1.1, but it resulted in the JIRA issue AXIS2-1214 -problems with getting
+an initContext.lookup() handle inside the AAR. Spring users typically have
+little desire to use initContext.lookup(), as they get their Datasources via
+org.springframework.jdbc.datasource.DriverManagerDataSource in an XML file or
+with annotations. For EJB home references and the like, Spring provides
+JndiObjectFactoryBean. While fully testing JndiObjectFactoryBean with EJB has
+not been done yet (if you do, please send a message to the axis users list)
+Datasources via Spring inside the AAR have been tested. Basically it works as
+typically done with Spring, though if you are passing Hibernate XML files you
+need to put them in a place where Spring will find them. The most flexible
+way is as follows, using logging in DEBUG mode to see where Spring will look
+in your jar / class locations:</p>
+ <div class="source"><pre><pre> <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
+ <property name="mappingLocations">
+ <value>classpath*:**/MyEntity.hbm.xml</value>
+ </property>
+ ...
+ </bean> </pre>
+</pre></div>
+ </div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2007, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
Added: webservices/axis2/site/1_2/src/Axis2SampleDocLitServiceCode.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_2/src/Axis2SampleDocLitServiceCode.html?view=auto&rev=533081
==============================================================================
--- webservices/axis2/site/1_2/src/Axis2SampleDocLitServiceCode.html (added)
+++ webservices/axis2/site/1_2/src/Axis2SampleDocLitServiceCode.html Fri Apr 27 05:39:33 2007
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Axis2/Java - </title><style type="text/css" media="all">
+ @import url("../../style/maven-base.css");
+
+ @import url("../../style/maven-theme.css");</style><link rel="stylesheet" href="../../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis2" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
+ Last published: 27 April 2007
+ | Doc for 1.2</div><div class="xright">
+
+ <a href="../../index.html">Axis2/Java</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org/axis2/c" class="externalLink" title="External Link">Axis2/C</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org" class="externalLink" title="External Link">Apache WS</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://www.apache.org" class="externalLink" title="External Link">Apache </a>
+ </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_Java"><h5>Axis2/Java</h5><ul><li class="none"><a href="../../index.html">Home</a></li></ul></div><div id="menuDownloads"><h5>Downloads</h5><ul><li class="none"><a href="../../download.cgi">Releases</a></li><li class="none"><a href="../../modules/index.html">Modules</a></li><li class="none"><a href="../../tools/index.html">Tools</a></li></ul></div><div id="menuDocumentation"><h5>Documentation</h5><ul><li class="expanded"><a href="../../1_2/contents.html">Version 1.2</a><ul><li class="none"><a href="../../1_2/toc.html">Table of Contents</a></li><li class="none"><a href="../../1_2/installationguide.html">Installation Guide</a></li><li class="none"><a href="../../1_2/quickstartguide.html">QuickStart Guide</a></li><li class="none"><a href="../../1_2/userguide.html">User Guide</a></li><li class="none"><a href="../../1_2/pojoguide.html">POJO Guide</a></li><li class="none"
><a href="../../1_2/spring.html">Spring Guide</a></li><li class="none"><a href="../../1_2/webadminguide.html">Web Administrator's Guide</a></li><li class="none"><a href="../../1_2/migration.html">Migration Guide (from Axis1)</a></li></ul></li><li class="none"><a href="../../1_1_1/index.html">Version 1.0</a></li><li class="none"><a href="../../1_1/index.html">Version 1.0</a></li><li class="none"><a href="../../1_0/index.html">Version 1.0</a></li><li class="none"><a href="../../0_95/index.html">Version 0.95</a></li><li class="none"><a href="../../0_94/index.html">Version 0.94</a></li><li class="none"><a href="../../0_93/index.html">Version 0.93</a></li></ul></div><div id="menuResources"><h5>Resources</h5><ul><li class="none"><a href="../../faq.html">FAQ</a></li><li class="none"><a href="../../articles.html">Articles</a></li><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="External Link">Wiki</a></li><li class="none"><a href="../
../refLib.html">Reference Library</a></li><li class="none"><a href="http://ws.apache.org/axis2/1_2/api/index.html" class="externalLink" title="External Link">Online Java Docs</a></li></ul></div><div id="menuGet_Involved"><h5>Get Involved</h5><ul><li class="none"><a href="../../overview.html">Overview</a></li><li class="none"><a href="../../svn.html">Checkout the Source</a></li><li class="none"><a href="../../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../../guidelines.html">Developer Guidelines</a></li><li class="none"><a href="../../siteHowTo.html">Build the Site</a></li></ul></div><div id="menuProject_Information"><h5>Project Information</h5><ul><li class="none"><a href="../../team-list.html">Project Team</a></li><li class="none"><a href="../../issue-tracking.html">Issue Tracking</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li><l
i class="none"><a href="../../thanks.html">Acknowledgements</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="External Link">License</a></li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../../images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Code_Listing_For_Axis2SampleDocLitService_Service"></a><h2>Code Listing For Axis2SampleDocLitService Service</h2><div class="subsection"><a name="Server:"></a><h3>Server:</h3></div><div class="subsection"><a name="echoString"></a><h3>echoString</h3><p>Locate the following code segment in "Axis2SampleDocLitServiceSkeleton.java".<br></br>
+</p>
+ <div class="source"><pre><pre>public org.apache.axis2.userguide.xsd.EchoStringReturnDocument
+ echoString(org.apache.axis2.userguide.xsd.EchoStringParamDocument param4 ){
+ //Todo: fill this with the necessary business logic
+ throw new java.lang.UnsupportedOperationException();
+ }
+</pre></pre></div>
+ <p>Then complete the code by adding the business logic as shown below:</p>
+ <div class="source"><pre>
+<pre>public org.apache.axis2.userguide.xsd.EchoStringReturnDocument
+ echoString(org.apache.axis2.userguide.xsd.EchoStringParamDocument param4) throws Exception {
+ //Use the factory to create the output document
+ org.apache.axis2.userguide.xsd.EchoStringReturnDocument retDoc =
+ org.apache.axis2.userguide.xsd.EchoStringReturnDocument.Factory.newInstance();
+ //send the string back.
+ retDoc.setEchoStringReturn(param4.getEchoStringParam());
+ return retDoc;
+ }</pre>
+</pre></div>
+ </div><div class="subsection"><a name="echoStringArray"></a><h3>echoStringArray</h3><p>The code segment for echoStringArray is shown below:</p>
+ <div class="source"><pre>
+<pre>public org.apache.axis2.userguide.xsd.EchoStringArrayReturnDocument
+ echoStringArray(org.apache.axis2.userguide.xsd.EchoStringArrayParamDocument param0) throws Exception {
+ //Use the factory to create the output document.
+ org.apache.axis2.userguide.xsd.EchoStringArrayReturnDocument retDoc =
+ org.apache.axis2.userguide.xsd.EchoStringArrayReturnDocument.Factory.newInstance();
+ //Get the String array from the input parameters.
+ String[] inParams = param0.getEchoStringArrayParam().getStringArray();
+ org.apache.axis2.userguide.xsd.ArrayOfstringLiteral retParams =
+ org.apache.axis2.userguide.xsd.ArrayOfstringLiteral.Factory.newInstance();
+ //Set the input parameters to the output parameters for echoing.
+ for (int i = 0; i < inParams.length; i++) {
+ retParams.addString(inParams[i]);<br></br> }
+ //return the output document.
+ retDoc.setEchoStringArrayReturn(retParams);
+ return retDoc;
+ }</pre>
+</pre></div>
+ </div><div class="subsection"><a name="echoStruct"></a><h3>echoStruct</h3><p>The code segment for echoStruct is shown below:</p>
+ <div class="source"><pre><pre>
+ public org.apache.axis2.userguide.xsd.EchoStructReturnDocument
+ echoStruct(org.apache.axis2.userguide.xsd.EchoStructParamDocument param2) throws Exception {
+ //Use the factory to create the output document.
+ org.apache.axis2.userguide.xsd.EchoStructReturnDocument retDoc =
+ org.apache.axis2.userguide.xsd.EchoStructReturnDocument.Factory.newInstance();
+ //Get the SOAPStrcut from the incoming parameters
+ org.apache.axis2.userguide.xsd.SOAPStruct inStruct = param2.getEchoStructParam();
+ //Struct for the sending back
+ org.apache.axis2.userguide.xsd.SOAPStruct outStruct =
+ org.apache.axis2.userguide.xsd.SOAPStruct.Factory.newInstance();
+ //Fill the outgoing struct
+ outStruct.setVarFloat(inStruct.getVarFloat());
+ outStruct.setVarInt(inStruct.getVarInt());
+ outStruct.setVarString(inStruct.getVarString());
+ //Set the outgoing document.
+ retDoc.setEchoStructReturn(outStruct);
+ return retDoc;
+ }
+</pre></pre></div>
+ </div><div class="subsection"><a name="Client:"></a><h3>Client:</h3></div><div class="subsection"><a name="Client_for_echoString_Operation"></a><h3>Client for echoString Operation</h3><p>The following code fragment shows the necessary code for utilizing the
+echoString operation of the Axis2SampleDocLitService that we have already
+deployed. The code is very simple to understand and the explanations are in
+the form of comments.</p>
+ <div class="source"><pre><pre> try {
+ org.apache.axis2.userguide.Axis2SampleDocLitServiceStub stub
+ = new org.apache.axis2.userguide.Axis2SampleDocLitServiceStub(null,
+ "http://localhost:8080/axis2/services/Axis2SampleDocLitService");
+ //Create the request document to be sent.
+ org.apache.axis2.userguide.xsd.EchoStringParamDocument reqDoc =
+ org.apache.axis2.userguide.xsd.EchoStringParamDocument.Factory.newInstance();
+ reqDoc.setEchoStringParam("Axis2 Echo");
+ //invokes the Web service.
+ org.apache.axis2.userguide.xsd.EchoStringReturnDocument resDoc =
+ stub.echoString(reqDoc);
+ System.out.println(resDoc.getEchoStringReturn());
+ } catch (java.rmi.RemoteException e) {
+ e.printStackTrace();
+ }
+</pre></pre></div>
+ <p>Similarly the following code fragments show client side code for
+echoStringArray operation and echoStruct operation respectively.</p></div><div class="subsection"><a name="Client_for_echoStringArray_Operation"></a><h3>Client for echoStringArray Operation</h3>
+ <div class="source"><pre><pre> try {
+ //Create the stub by passing the AXIS_HOME and target EPR.
+ //We pass null to the AXIS_HOME and hence the stub will use the current directory as the AXIS_HOME
+ org.apache.axis2.userguide.Axis2SampleDocLitServiceStub stub =
+ new org.apache.axis2.userguide.Axis2SampleDocLitServiceStub(null,
+ "http://localhost:8080/axis2/services/Axis2SampleDocLitService");
+ //Create the request document to be sent.
+ org.apache.axis2.userguide.xsd.EchoStringArrayParamDocument reqDoc =
+ org.apache.axis2.userguide.xsd.EchoStringArrayParamDocument.Factory.newInstance();
+ org.apache.axis2.userguide.xsd.ArrayOfstringLiteral paramArray =
+ org.apache.axis2.userguide.xsd.ArrayOfstringLiteral.Factory.newInstance();
+ paramArray.addString("Axis2");
+ paramArray.addString("Echo");
+ reqDoc.setEchoStringArrayParam(paramArray);
+ org.apache.axis2.userguide.xsd.EchoStringArrayReturnDocument resDoc =
+ stub.echoStringArray(reqDoc);
+ //Get the response params
+ String[] resParams = resDoc.getEchoStringArrayReturn().getStringArray();
+ for (int i = 0; i < resParams.length; i++) {
+ System.out.println(resParams[i]);
+ }
+ } catch (java.rmi.RemoteException e) {
+ e.printStackTrace();
+ }
+ </pre>
+ </pre></div>
+ </div><div class="subsection"><a name="Client_for_echoStruct_Operation"></a><h3>Client for echoStruct Operation</h3>
+ <div class="source"><pre><pre>try {
+ //Create the stub by passing the AXIS_HOME and target EPR.
+ //We pass null to the AXIS_HOME and hence the stub will use the current directory as the AXIS_HOME
+ org.apache.axis2.userguide.Axis2SampleDocLitServiceStub stub =
+ new org.apache.axis2.userguide.Axis2SampleDocLitServiceStub(null,
+ "http://localhost:8080/axis2/services/Axis2SampleDocLitService");
+ //Create the request Document
+ org.apache.axis2.userguide.xsd.EchoStructParamDocument reqDoc =
+ org.apache.axis2.userguide.xsd.EchoStructParamDocument.Factory.newInstance();
+ //Create the complex type
+ org.apache.axis2.userguide.xsd.SOAPStruct reqStruct =
+ org.apache.axis2.userguide.xsd.SOAPStruct.Factory.newInstance();
+ reqStruct.setVarFloat(100.50F);
+ reqStruct.setVarInt(10);
+ reqStruct.setVarString("High");
+ reqDoc.setEchoStructParam(reqStruct);
+ //Service invocation
+ org.apache.axis2.userguide.xsd.EchoStructReturnDocument resDoc =
+ stub.echoStruct(reqDoc);
+ org.apache.axis2.userguide.xsd.SOAPStruct resStruct =
+ resDoc.getEchoStructReturn();
+ System.out.println("floot Value :" + resStruct.getVarFloat());
+ System.out.println("int Value :" + resStruct.getVarInt());
+ System.out.println("String Value :" + resStruct.getVarString());
+ } catch (java.rmi.RemoteException e) {
+ e.printStackTrace();
+ }
+</pre></pre></div>
+ </div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2007, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
Added: webservices/axis2/site/1_2/tcp-transport.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_2/tcp-transport.html?view=auto&rev=533081
==============================================================================
--- webservices/axis2/site/1_2/tcp-transport.html (added)
+++ webservices/axis2/site/1_2/tcp-transport.html Fri Apr 27 05:39:33 2007
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Axis2/Java - TCP transport</title><style type="text/css" media="all">
+ @import url("../style/maven-base.css");
+
+ @import url("../style/maven-theme.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis2" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
+ Last published: 27 April 2007
+ | Doc for 1.2</div><div class="xright">
+
+ <a href="../index.html">Axis2/Java</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org/axis2/c" class="externalLink" title="External Link">Axis2/C</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org" class="externalLink" title="External Link">Apache WS</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://www.apache.org" class="externalLink" title="External Link">Apache </a>
+ </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_Java"><h5>Axis2/Java</h5><ul><li class="none"><a href="../index.html">Home</a></li></ul></div><div id="menuDownloads"><h5>Downloads</h5><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="../modules/index.html">Modules</a></li><li class="none"><a href="../tools/index.html">Tools</a></li></ul></div><div id="menuDocumentation"><h5>Documentation</h5><ul><li class="expanded"><a href="../1_2/contents.html">Version 1.2</a><ul><li class="none"><a href="../1_2/toc.html">Table of Contents</a></li><li class="none"><a href="../1_2/installationguide.html">Installation Guide</a></li><li class="none"><a href="../1_2/quickstartguide.html">QuickStart Guide</a></li><li class="none"><a href="../1_2/userguide.html">User Guide</a></li><li class="none"><a href="../1_2/pojoguide.html">POJO Guide</a></li><li class="none"><a href="../1_2/spring.html">
Spring Guide</a></li><li class="none"><a href="../1_2/webadminguide.html">Web Administrator's Guide</a></li><li class="none"><a href="../1_2/migration.html">Migration Guide (from Axis1)</a></li></ul></li><li class="none"><a href="../1_1_1/index.html">Version 1.0</a></li><li class="none"><a href="../1_1/index.html">Version 1.0</a></li><li class="none"><a href="../1_0/index.html">Version 1.0</a></li><li class="none"><a href="../0_95/index.html">Version 0.95</a></li><li class="none"><a href="../0_94/index.html">Version 0.94</a></li><li class="none"><a href="../0_93/index.html">Version 0.93</a></li></ul></div><div id="menuResources"><h5>Resources</h5><ul><li class="none"><a href="../faq.html">FAQ</a></li><li class="none"><a href="../articles.html">Articles</a></li><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="External Link">Wiki</a></li><li class="none"><a href="../refLib.html">Reference Library</a></li><li class="none"><a href
="http://ws.apache.org/axis2/1_2/api/index.html" class="externalLink" title="External Link">Online Java Docs</a></li></ul></div><div id="menuGet_Involved"><h5>Get Involved</h5><ul><li class="none"><a href="../overview.html">Overview</a></li><li class="none"><a href="../svn.html">Checkout the Source</a></li><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../guidelines.html">Developer Guidelines</a></li><li class="none"><a href="../siteHowTo.html">Build the Site</a></li></ul></div><div id="menuProject_Information"><h5>Project Information</h5><ul><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="../issue-tracking.html">Issue Tracking</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li><li class="none"><a href="../thanks.html">Acknowledgements</a></li><li class="none"><a hr
ef="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="External Link">License</a></li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="TCP_Transport"></a><h2>TCP Transport</h2><p>
+This document explains how to send and receive SOAP messages via TCP in Axis2.
+
+</p><p><i>Send your feedback or questions to: <a href="mailto:axis-dev@ws.apache.org?subject=[Axis2]">axis-dev@ws.apache.org</a></i>.
+Prefix subject with [Axis2]. Subscription details are available on the <a href="http://ws.apache.org/axis2/mail-lists.html" class="externalLink" title="External Link">Axis2 site</a>. <a href="http://ws.apache.org/axis2/mail-lists.html" class="externalLink" title="External Link"></a></p><div class="subsection"><a name="Content"></a><h3>Content</h3><ul>
+ <li><a href="#intro">Introduction</a></li>
+ <li><a href="#start">How to Start the TCPServer</a></li>
+ <li><a href="#send">How to Send SOAP Messages Using TCP Transport</a></li>
+ <li><a href="#samples">Samples</a></li>
+ <li><a href="#components">Transport Components</a></li>
+</ul><p><a name="intro"></a></p></div><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>Axis2 supports TCP as a transport. It supports both send and receive SOAP
+messages via TCP. A TCP transport does not have any application level headers
+and the SOAP message that is sent should be self contained. This makes the
+interaction fast and simple. However, since there are no application headers,
+it does not have the privilege of having a request URI, and Service
+dispatching should be done by an alternative method. Thus,
+RequestURIBasedDispatcher cannot be used. The following are the two main
+alternatives available for dispatching in the Axis2 environment:</p><ol>
+ <li>Use the name space URI of the first child element of SOAPBody.
+ (SOAPMessageBodyBasedDispatcher).</li>
+ <li>Enable WS-Addressing. In the case of version 1.1 and 1.1.1 releases
+ Addressing is default (SOAPActionBasedDispatcher).</li>
+</ol><p>When the TCP request is sent, it is the user's responsibility to use
+either Addressing or the SOAP body base mechanism.</p><p><a name="start"></a></p></div><div class="subsection"><a name="How_to_Start_the_TCPServer"></a><h3>How to Start the TCPServer</h3><p>The TCP server can be started by running the class
+org.apache.axis2.transport.tcp.TCPServer with two parameters - <a href="../faq.html#c5">repository</a> and port number, as arguments. This
+class needs all the Axis dependency JARs in the classpath. New services can
+be added in the usual way by dropping the archives to the repository (See <a href="adv-userguide.html">Advance User's Guide</a> for more information)</p><p>
+<a name="send"></a></p></div><div class="subsection"><a name="How_to_Send_SOAP_Messages_Using_TCP_Transport"></a><h3>How to Send SOAP Messages Using TCP Transport</h3><p>TCP transport can be enabled easily from the call API. The following code
+segment demonstrates how it can be done.</p>
+ <div class="source"><pre><pre>OMElement payload = ...
+ServiceClient serviceClient = new ServiceClient();
+Options options = new Options();
+options.setTo(targetEPR);
+
+
+
+
+serviceClient.setOptions(options);
+
+OMElement response = serviceClient.sendReceive(payload);</pre>
+</pre></div>
+ <p>The transport that should be invoked is inferred from the targetEPR
+(tcp://...). In this case it is TCP and the listener is also TCP. The SOAP
+message has to be self contained in order to use Addressing. The other option
+is to use the URI of the first child of the SOAP Body to dispatch the
+service. The parameter is of the type <a href="../faq.html#a2">OMElement</a>,
+the XML representation of Axis2.</p><p><a name="samples"></a></p></div><div class="subsection"><a name="Samples"></a><h3>Samples</h3><p>A sample for a TCP Client can be found from the
+samples/userguide/src/userguide/clients/TCPClient.java in the binary
+distribution. This accesses the same Web service explained in the <a href="adv-userguide.html">Axis2 Advanced User's Guide</a>. The client first
+starts the TCPServer with the same repository used for the <a href="adv-userguide.html">Axis2 Advanced User's Guide</a> samples. Since the
+sample is already deployed in the repository, as per the userguide, it will
+be automatically available.</p><p>In order to run the TCPClient.java, addressing should be engaged both in
+the client and server sides. On the client side, you can engage addressing by
+copying the addressing-1.2.mar (AXIS2_HOME/repository/module) to
+AXIS2_HOME/lib directory.</p><p><a name="components"></a></p></div><div class="subsection"><a name="Transport_Components"></a><h3>Transport Components</h3><p>The Axis2 TCP transport has two components, a transport Listener for
+receiving the messages and a transport Sender to send the SOAP Messages. The
+Axis2 installation has both the components built into itself by default. In
+the axis2.xml configuration file, the two TCP transport components would look
+as follows.</p><p>If the TCP server is started manually, this configuration does not take
+effect. In return, this affects the transport Listener's start by Axis2.
+(e.g. Listener started by the Complete Async interaction)</p><p>The following XML lines initialize the TCPTransport Receiver:</p>
+ <div class="source"><pre><pre><transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer">
+ <parameter name="port" locked="false">6060</parameter>
+</transportReceiver></pre>
+</pre></div>
+ <p>The following XML lines add the TCPTransport Sender:</p>
+ <div class="source"><pre><pre><transportSender name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportSender"/></pre>
+</pre></div>
+ </div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2007, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
Added: webservices/axis2/site/1_2/toc.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_2/toc.html?view=auto&rev=533081
==============================================================================
--- webservices/axis2/site/1_2/toc.html (added)
+++ webservices/axis2/site/1_2/toc.html Fri Apr 27 05:39:33 2007
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Axis2/Java - </title><style type="text/css" media="all">
+ @import url("../style/maven-base.css");
+
+ @import url("../style/maven-theme.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis2" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
+ Last published: 27 April 2007
+ | Doc for 1.2</div><div class="xright">
+
+ <a href="../index.html">Axis2/Java</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org/axis2/c" class="externalLink" title="External Link">Axis2/C</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://ws.apache.org" class="externalLink" title="External Link">Apache WS</a>
+
+
+
+ <span class="separator">|</span>
+
+
+ <a href="http://www.apache.org" class="externalLink" title="External Link">Apache </a>
+ </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_Java"><h5>Axis2/Java</h5><ul><li class="none"><a href="../index.html">Home</a></li></ul></div><div id="menuDownloads"><h5>Downloads</h5><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="../modules/index.html">Modules</a></li><li class="none"><a href="../tools/index.html">Tools</a></li></ul></div><div id="menuDocumentation"><h5>Documentation</h5><ul><li class="expanded"><a href="../1_2/contents.html">Version 1.2</a><ul><li class="none"><a href="../1_2/toc.html">Table of Contents</a></li><li class="none"><a href="../1_2/installationguide.html">Installation Guide</a></li><li class="none"><a href="../1_2/quickstartguide.html">QuickStart Guide</a></li><li class="none"><a href="../1_2/userguide.html">User Guide</a></li><li class="none"><a href="../1_2/pojoguide.html">POJO Guide</a></li><li class="none"><a href="../1_2/spring.html">
Spring Guide</a></li><li class="none"><a href="../1_2/webadminguide.html">Web Administrator's Guide</a></li><li class="none"><a href="../1_2/migration.html">Migration Guide (from Axis1)</a></li></ul></li><li class="none"><a href="../1_1_1/index.html">Version 1.0</a></li><li class="none"><a href="../1_1/index.html">Version 1.0</a></li><li class="none"><a href="../1_0/index.html">Version 1.0</a></li><li class="none"><a href="../0_95/index.html">Version 0.95</a></li><li class="none"><a href="../0_94/index.html">Version 0.94</a></li><li class="none"><a href="../0_93/index.html">Version 0.93</a></li></ul></div><div id="menuResources"><h5>Resources</h5><ul><li class="none"><a href="../faq.html">FAQ</a></li><li class="none"><a href="../articles.html">Articles</a></li><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="External Link">Wiki</a></li><li class="none"><a href="../refLib.html">Reference Library</a></li><li class="none"><a href
="http://ws.apache.org/axis2/1_2/api/index.html" class="externalLink" title="External Link">Online Java Docs</a></li></ul></div><div id="menuGet_Involved"><h5>Get Involved</h5><ul><li class="none"><a href="../overview.html">Overview</a></li><li class="none"><a href="../svn.html">Checkout the Source</a></li><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../guidelines.html">Developer Guidelines</a></li><li class="none"><a href="../siteHowTo.html">Build the Site</a></li></ul></div><div id="menuProject_Information"><h5>Project Information</h5><ul><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="../issue-tracking.html">Issue Tracking</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li><li class="none"><a href="../thanks.html">Acknowledgements</a></li><li class="none"><a hr
ef="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="External Link">License</a></li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Table_of_Contents"></a><h2>Table of Contents</h2><ol>
+ <li><a href="contents.html" target="mainFrame">Introduction</a></li>
+ <li><a href="installationguide.html" target="mainFrame">Installation
+ Guide</a></li>
+ <li><a href="../modules/index.html" target="mainFrame">Add-on
+ Modules</a></li>
+ <li><a href="app_server.html" target="mainFrame">Application Server
+ Specific Configuration Guide</a></li>
+ <li><a href="quickstartguide.html" target="mainFrame">Quick Start
+ Guide</a></li>
+ <li><a href="userguide.html" target="mainFrame">User's Guide</a></li>
+ <li><a href="adv-userguide.html" target="mainFrame">Advanced User's
+ Guide</a></li>
+ <li><a href="axis2config.html" target="mainFrame">Configuration
+ Guide</a></li>
+ <li><a href="webadminguide.html" target="mainFrame">Web Administrator's
+ Guide</a></li>
+ <li><a href="Axis2ArchitectureGuide.html" target="mainFrame">Architecture
+ Guide</a></li>
+ <li><a href="pojoguide.html" target="mainFrame">POJO Guide</a></li>
+ <li><a href="spring.html" target="mainFrame">Spring Guide</a></li>
+ <li><a href="modules.html" target="mainFrame">Modules Guide</a></li>
+ <li>ADB Data Binding
+ <ul>
+ <li>14.1 <a href="adb/adb-howto.html" target="mainFrame">Architecture</a></li>
+ <li>14.2 <a href="adb/adb-advanced.html" target="mainFrame">Advanced
+ Features</a></li>
+ <li>14.3 <a href="adb/adb-codegen-integration.html" target="mainFrame">Code Generation Integration</a></li>
+ <li>14.4 <a href="adb/adb-tweaking.html" target="mainFrame">Tweaking</a></li>
+ </ul>
+ </li>
+ <li>JiBX Data Binding
+ <ul>
+ <li>15.1 <a href="jibx/jibx-codegen-integration.html" target="mainFrame">Code Generation Integration</a></li>
+ <li>15.2 <a href="jibx/jibx-doclit-example.html" target="mainFrame">doc/lit Example</a></li>
+ <li>15.3 <a href="jibx/jibx-unwrapped-example.html" target="mainFrame">unwrapped Example</a></li>
+ </ul>
+ </li>
+ <li>Advanced
+ <ul>
+ <li>16.1 <a href="xmlbased-server.html" target="mainFrame">AXIOM Based
+ Service</a></li>
+ <li>16.2 <a href="dii.html" target="mainFrame">AXIOM Based
+ Client</a></li>
+ </ul>
+ </li>
+ <li><a href="mtom-guide.html" target="mainFrame">Attachments/MTOM
+ Guide</a></li>
+ <li>Transports
+ <ul>
+ <li>18.1 <a href="http-transport.html" target="mainFrame">HTTP
+ Transport</a></li>
+ <li>18.2 <a href="jms-transport.html" target="mainFrame">JMS
+ Transport</a></li>
+ <li>18.3 <a href="tcp-transport.html" target="mainFrame">TCP
+ Transport</a></li>
+ <li>18.4 <a href="mail-transport.html" target="mainFrame">Mail
+ Transport</a> / <a href="mail-configuration.html" target="mainFrame">(Configuration)</a></li>
+ <li>18.5 <a href="transport_howto.html" target="mainFrame">Custom
+ Transport</a></li>
+ </ul>
+ </li>
+ <li><a href="WS_policy.html" target="mainFrame">WS-Policy Support</a></li>
+ <li><a href="rest-ws.html" target="mainFrame">REST Support</a></li>
+ <li><a href="json_support.html" target="mainFrame">JSON Support</a></li>
+ <li><a href="ejb-provider.html" target="mainFrame">Guide to using EJB
+ Provider in Axis2</a></li>
+ <li><a href="soapmonitor-module.html" target="mainFrame">SOAP
+ Monitor</a></li>
+ <li><a href="reference.html" target="mainFrame">Command Line Tools</a></li>
+ <li><a href="../tools/index.html" target="mainFrame">Tools/Plug-ins</a>
+ <ul>
+ <li>25.1 <a href="../tools/1_2/CodegenToolReference.html" target="mainFrame">Code Generator Tool - Command Line and Ant
+ Task</a></li>
+ <li>25.2 <a href="../tools/1_2/idea/Idea_plug-in_userguide.html" target="mainFrame">Axis2 Plug-in for IntelliJ IDEA</a></li>
+ <li>25.3 <a href="../tools/1_2/eclipse/servicearchiver-plugin.html" target="mainFrame">Service Archive Generator Wizard - Eclipse
+ Plug-in</a></li>
+ <li>25.4 <a href="../tools/1_2/eclipse/wsdl2java-plugin.html" target="mainFrame">Code Generator Wizard - Eclipse Plug-in</a></li>
+ <li>25.5 <a href="../tools/1_2/maven-plugins/maven-aar-plugin.html" target="mainFrame">AAR Maven2 Plug-in</a></li>
+ <li>25.6 <a href="../tools/1_2/maven-plugins/maven-java2wsdl-plugin.html" target="mainFrame">Java2WSDL Maven2 Plug-in</a></li>
+ <li>25.7 <a href="../tools/1_2/maven-plugins/maven-wsdl2code-plugin.html" target="mainFrame">WSDL2Code Maven2 Plug-in</a></li>
+ <li>25.8 <a href="../tools/previous.html" target="mainFrame">Tools
+ Archive</a></li>
+ </ul>
+ </li>
+ <li><a href="migration.html" target="mainFrame">Migration Guide (from
+ Axis1)</a></li>
+ <li>Design Notes
+ <ul>
+ <li>27.1 <a href="Axis2-rpc-support.html" target="mainFrame">RPC
+ Support</a></li>
+ </ul>
+ </li>
+</ol></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2007, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org