| <!DOCTYPE html> |
| <!-- |
| | Generated by Apache Maven Doxia at 2016-02-20 |
| | Rendered using Apache Maven Fluido Skin 1.4 |
| --> |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| <head> |
| <meta charset="UTF-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <meta name="Date-Revision-yyyymmdd" content="20160220" /> |
| <meta http-equiv="Content-Language" content="en" /> |
| <title>Apache Axis2 – Generating a Web Service Client using Axis2 and |
| XmlBeans</title> |
| <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" /> |
| <link rel="stylesheet" href="../css/site.css" /> |
| <link rel="stylesheet" href="../css/print.css" media="print" /> |
| |
| |
| <script type="text/javascript" src="../js/apache-maven-fluido-1.4.min.js"></script> |
| |
| |
| <meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" /><meta http-equiv="content-type" content="" /> </head> |
| <body class="topBarDisabled"> |
| |
| |
| |
| <div class="container-fluid"> |
| <div id="banner"> |
| <div class="pull-left"> |
| <a href="http://www.apache.org/" id="bannerLeft"> |
| <img src="http://www.apache.org/images/asf_logo_wide.png" alt="Apache Axis2"/> |
| </a> |
| </div> |
| <div class="pull-right"> <a href=".././" id="bannerRight"> |
| <img src="../images/axis.jpg" /> |
| </a> |
| </div> |
| <div class="clear"><hr/></div> |
| </div> |
| |
| <div id="breadcrumbs"> |
| <ul class="breadcrumb"> |
| |
| |
| <li id="publishDate">Last Published: 2016-02-20 |
| <span class="divider">|</span> |
| </li> |
| <li id="projectVersion">Version: 1.7.1 |
| <span class="divider">|</span> |
| </li> |
| <li class=""> |
| <a href="http://www.apache.org" class="externalLink" title="Apache"> |
| Apache</a> |
| <span class="divider">/</span> |
| </li> |
| <li class=""> |
| <a href="../index.html" title="Axis2/Java"> |
| Axis2/Java</a> |
| <span class="divider">/</span> |
| </li> |
| <li class="active ">Generating a Web Service Client using Axis2 and |
| XmlBeans</li> |
| |
| |
| |
| |
| </ul> |
| </div> |
| |
| |
| <div class="row-fluid"> |
| <div id="leftColumn" class="span2"> |
| <div class="well sidebar-nav"> |
| |
| |
| <ul class="nav nav-list"> |
| <li class="nav-header">Axis2/Java</li> |
| |
| <li> |
| |
| <a href="../index.html" title="Home"> |
| <span class="none"></span> |
| Home</a> |
| </li> |
| |
| <li> |
| |
| <a href="../download.html" title="Downloads"> |
| <span class="none"></span> |
| Downloads</a> |
| </li> |
| |
| <li> |
| |
| <a href="javascript:void(0)" title="Release Notes"> |
| <span class="icon-chevron-down"></span> |
| Release Notes</a> |
| <ul class="nav nav-list"> |
| |
| <li> |
| |
| <a href="../release-notes/1.6.1.html" title="1.6.1"> |
| <span class="none"></span> |
| 1.6.1</a> |
| </li> |
| |
| <li> |
| |
| <a href="../release-notes/1.6.2.html" title="1.6.2"> |
| <span class="none"></span> |
| 1.6.2</a> |
| </li> |
| |
| <li> |
| |
| <a href="../release-notes/1.6.3.html" title="1.6.3"> |
| <span class="none"></span> |
| 1.6.3</a> |
| </li> |
| |
| <li> |
| |
| <a href="../release-notes/1.6.4.html" title="1.6.4"> |
| <span class="none"></span> |
| 1.6.4</a> |
| </li> |
| |
| <li> |
| |
| <a href="../release-notes/1.7.0.html" title="1.7.0"> |
| <span class="none"></span> |
| 1.7.0</a> |
| </li> |
| |
| <li> |
| |
| <a href="../release-notes/1.7.1.html" title="1.7.1"> |
| <span class="none"></span> |
| 1.7.1</a> |
| </li> |
| </ul> |
| </li> |
| |
| <li> |
| |
| <a href="../modules/index.html" title="Modules"> |
| <span class="none"></span> |
| Modules</a> |
| </li> |
| |
| <li> |
| |
| <a href="../tools/index.html" title="Tools"> |
| <span class="none"></span> |
| Tools</a> |
| </li> |
| <li class="nav-header">Documentation</li> |
| |
| <li> |
| |
| <a href="../docs/toc.html" title="Table of Contents"> |
| <span class="none"></span> |
| Table of Contents</a> |
| </li> |
| |
| <li> |
| |
| <a href="../docs/installationguide.html" title="Installation Guide"> |
| <span class="none"></span> |
| Installation Guide</a> |
| </li> |
| |
| <li> |
| |
| <a href="../docs/quickstartguide.html" title="QuickStart Guide"> |
| <span class="none"></span> |
| QuickStart Guide</a> |
| </li> |
| |
| <li> |
| |
| <a href="../docs/userguide.html" title="User Guide"> |
| <span class="none"></span> |
| User Guide</a> |
| </li> |
| |
| <li> |
| |
| <a href="../docs/jaxws-guide.html" title="JAXWS Guide"> |
| <span class="none"></span> |
| JAXWS Guide</a> |
| </li> |
| |
| <li> |
| |
| <a href="../docs/pojoguide.html" title="POJO Guide"> |
| <span class="none"></span> |
| POJO Guide</a> |
| </li> |
| |
| <li> |
| |
| <a href="../docs/spring.html" title="Spring Guide"> |
| <span class="none"></span> |
| Spring Guide</a> |
| </li> |
| |
| <li> |
| |
| <a href="../docs/webadminguide.html" title="Web Administrator's Guide"> |
| <span class="none"></span> |
| Web Administrator's Guide</a> |
| </li> |
| |
| <li> |
| |
| <a href="../docs/migration.html" title="Migration Guide (from Axis1)"> |
| <span class="none"></span> |
| Migration Guide (from Axis1)</a> |
| </li> |
| <li class="nav-header">Resources</li> |
| |
| <li> |
| |
| <a href="../faq.html" title="FAQ"> |
| <span class="none"></span> |
| FAQ</a> |
| </li> |
| |
| <li> |
| |
| <a href="../articles.html" title="Articles"> |
| <span class="none"></span> |
| Articles</a> |
| </li> |
| |
| <li> |
| |
| <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="Wiki"> |
| <span class="none"></span> |
| Wiki</a> |
| </li> |
| |
| <li> |
| |
| <a href="../refLib.html" title="Reference Library"> |
| <span class="none"></span> |
| Reference Library</a> |
| </li> |
| |
| <li> |
| |
| <a href="../apidocs/index.html" title="Online Java Docs"> |
| <span class="none"></span> |
| Online Java Docs</a> |
| </li> |
| <li class="nav-header">Get Involved</li> |
| |
| <li> |
| |
| <a href="../overview.html" title="Overview"> |
| <span class="none"></span> |
| Overview</a> |
| </li> |
| |
| <li> |
| |
| <a href="../svn.html" title="Checkout the Source"> |
| <span class="none"></span> |
| Checkout the Source</a> |
| </li> |
| |
| <li> |
| |
| <a href="../mail-lists.html" title="Mailing Lists"> |
| <span class="none"></span> |
| Mailing Lists</a> |
| </li> |
| |
| <li> |
| |
| <a href="../release-process.html" title="Release Process"> |
| <span class="none"></span> |
| Release Process</a> |
| </li> |
| |
| <li> |
| |
| <a href="../guidelines.html" title="Developer Guidelines"> |
| <span class="none"></span> |
| Developer Guidelines</a> |
| </li> |
| |
| <li> |
| |
| <a href="../siteHowTo.html" title="Build the Site"> |
| <span class="none"></span> |
| Build the Site</a> |
| </li> |
| <li class="nav-header">Project Information</li> |
| |
| <li> |
| |
| <a href="../team-list.html" title="Project Team"> |
| <span class="none"></span> |
| Project Team</a> |
| </li> |
| |
| <li> |
| |
| <a href="../issue-tracking.html" title="Issue Tracking"> |
| <span class="none"></span> |
| Issue Tracking</a> |
| </li> |
| |
| <li> |
| |
| <a href="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" class="externalLink" title="Source Code"> |
| <span class="none"></span> |
| Source Code</a> |
| </li> |
| |
| <li> |
| |
| <a href="../thanks.html" title="Acknowledgements"> |
| <span class="none"></span> |
| Acknowledgements</a> |
| </li> |
| <li class="nav-header">Apache</li> |
| |
| <li> |
| |
| <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License"> |
| <span class="none"></span> |
| License</a> |
| </li> |
| |
| <li> |
| |
| <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"> |
| <span class="none"></span> |
| Sponsorship</a> |
| </li> |
| |
| <li> |
| |
| <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"> |
| <span class="none"></span> |
| Thanks</a> |
| </li> |
| |
| <li> |
| |
| <a href="http://www.apache.org/security/" class="externalLink" title="Security"> |
| <span class="none"></span> |
| Security</a> |
| </li> |
| </ul> |
| |
| |
| |
| <hr /> |
| |
| <div id="poweredBy"> |
| <div class="clear"></div> |
| <div class="clear"></div> |
| <div class="clear"></div> |
| <div class="clear"></div> |
| <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> |
| <img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /> |
| </a> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="bodyColumn" class="span10" > |
| |
| <!-- ~ Licensed to the Apache Software Foundation (ASF) under one |
| ~ or more contributor license agreements. See the NOTICE file |
| ~ distributed with this work for additional information |
| ~ regarding copyright ownership. The ASF licenses this file |
| ~ to you under the Apache License, Version 2.0 (the |
| ~ "License"); you may not use this file except in compliance |
| ~ with the License. You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, |
| ~ software distributed under the License is distributed on an |
| ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~ KIND, either express or implied. See the License for the |
| ~ specific language governing permissions and limitations |
| ~ under the License. --><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| |
| |
| <h1 class="title">Generating a Web Service Client using Apache |
| Axis2 and XMLBeans</h1> |
| |
| <p>This document explains how to generate a Web service client |
| using Apache Axis2 and XMLBeans data binding. The service has the |
| following WSDL:</p> |
| |
| <p><b>Code Listing 1: The WSDL file</b></p> |
| |
| <div> |
| <pre> |
| <?xml version="1.0" encoding="UTF-8"?> |
| <wsdl:definitions |
| xmlns:apachesoap="http://xml.apache.org/xml-soap" |
| xmlns:impl="http://apache.org/axis2/Axis2UserGuide" |
| xmlns:intf="http://apache.org/axis2/Axis2UserGuide" |
| xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" |
| xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" |
| xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| targetNamespace="http://apache.org/axis2/Axis2UserGuide"> |
| |
| <wsdl:types> |
| <schema |
| elementFormDefault="qualified" |
| targetNamespace="http://apache.org/axis2/Axis2UserGuide" |
| xmlns="http://www.w3.org/2001/XMLSchema"> |
| |
| <!-- ELEMENTS --> |
| |
| <element name="DoInOnlyRequest"> |
| <complexType> |
| <sequence> |
| <element name="messageString" type="xsd:string"/> |
| </sequence> |
| </complexType> |
| </element> |
| |
| <element name="TwoWayOneParameterEchoRequest"> |
| <complexType> |
| <sequence> |
| <element name="echoString" type="xsd:string"/> |
| </sequence> |
| </complexType> |
| </element> |
| <element name="TwoWayOneParameterEchoResponse"> |
| <complexType> |
| <sequence> |
| <element name="echoString" type="xsd:string"/> |
| </sequence> |
| </complexType> |
| </element> |
| |
| <element name="NoParametersRequest"> |
| <complexType/> |
| </element> |
| <element name="NoParametersResponse"> |
| <complexType/> |
| </element> |
| |
| <element name="MultipleParametersAddItemRequest"> |
| <complexType> |
| <sequence> |
| <element name="itemId" type="xsd:int"/> |
| <element name="itemName" type="xsd:string"/> |
| <element name="price" type="xsd:float"/> |
| <element name="description" type="xsd:string"/> |
| </sequence> |
| </complexType> |
| </element> |
| |
| <element name="MultipleParametersAddItemResponse"> |
| <complexType> |
| <sequence> |
| <element name="itemId" type="xsd:int"/> |
| <element name="successfulAdd" type="xsd:boolean"/> |
| </sequence> |
| </complexType> |
| </element> |
| |
| </schema> |
| </wsdl:types> |
| |
| |
| <!-- MESSAGES --> |
| |
| <wsdl:message name="DoInOnlyRequestMessage"> |
| <wsdl:part name="input" element="impl:DoInOnlyRequest"/> |
| </wsdl:message> |
| |
| <wsdl:message name="TwoWayOneParameterEchoRequestMessage"> |
| <wsdl:part name="input" element="impl:TwoWayOneParameterEchoRequest"/> |
| </wsdl:message> |
| <wsdl:message name="TwoWayOneParameterEchoResponseMessage"> |
| <wsdl:part name="output" element="impl:TwoWayOneParameterEchoResponse"/> |
| </wsdl:message> |
| |
| <wsdl:message name="NoParametersRequestMessage"> |
| <wsdl:part name="input" element="impl:NoParametersRequest"/> |
| </wsdl:message> |
| <wsdl:message name="NoParametersResponseMessage"> |
| <wsdl:part name="output" element="impl:NoParametersResponse"/> |
| </wsdl:message> |
| |
| <wsdl:message name="MultipleParametersAddItemRequestMessage"> |
| <wsdl:part name="input" element="impl:MultipleParametersAddItemRequest"/> |
| </wsdl:message> |
| <wsdl:message name="MultipleParametersAddItemResponseMessage"> |
| <wsdl:part name="output" element="impl:MultipleParametersAddItemResponse"/> |
| </wsdl:message> |
| |
| |
| <!-- Port type (operations) --> |
| |
| <wsdl:portType name="Axis2UserGuidePortType"> |
| |
| <wsdl:operation name="DoInOnly" parameterOrder="input"> |
| <wsdl:input name="DoInOnlyRequestMessage" |
| message="impl:DoInOnlyRequestMessage"/> |
| </wsdl:operation> |
| |
| <wsdl:operation name="TwoWayOneParameterEcho" parameterOrder="input"> |
| <wsdl:input name="TwoWayOneParameterEchoRequestMessage" |
| message="impl:TwoWayOneParameterEchoRequestMessage"/> |
| <wsdl:output name="TwoWayOneParameterEchoResponseMessage" |
| message="impl:TwoWayOneParameterEchoResponseMessage"/> |
| </wsdl:operation> |
| |
| <wsdl:operation name="NoParameters" parameterOrder="input"> |
| <wsdl:input name="NoParametersRequestMessage" |
| message="impl:NoParametersRequestMessage"/> |
| <wsdl:output name="NoParametersResponseMessage" |
| message="impl:NoParametersResponseMessage"/> |
| </wsdl:operation> |
| |
| <wsdl:operation name="MultipleParametersAddItem" parameterOrder="input"> |
| <wsdl:input name="MultipleParametersAddItemRequestMessage" |
| message="impl:MultipleParametersAddItemRequestMessage"/> |
| <wsdl:output name="MultipleParametersAddItemResponseMessage" |
| message="impl:MultipleParametersAddItemResponseMessage"/> |
| </wsdl:operation> |
| |
| </wsdl:portType> |
| |
| |
| <!-- BINDING (bind operations) --> |
| <wsdl:binding |
| name="Axis2UserGuideSoapBinding" |
| type="impl:Axis2UserGuidePortType"> |
| <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> |
| |
| <wsdl:operation name="DoInOnly"> |
| <wsdlsoap:operation soapAction="DoInOnly"/> |
| <wsdl:input> |
| <wsdlsoap:body use="literal"/> |
| </wsdl:input> |
| </wsdl:operation> |
| |
| <wsdl:operation name="TwoWayOneParameterEcho"> |
| <wsdlsoap:operation soapAction="TwoWayOneParameterEcho"/> |
| <wsdl:input> |
| <wsdlsoap:body use="literal"/> |
| </wsdl:input> |
| <wsdl:output> |
| <wsdlsoap:body use="literal"/> |
| </wsdl:output> |
| </wsdl:operation> |
| |
| <wsdl:operation name="NoParameters"> |
| <wsdlsoap:operation soapAction="NoParameters"/> |
| <wsdl:input> |
| <wsdlsoap:body use="literal"/> |
| </wsdl:input> |
| <wsdl:output> |
| <wsdlsoap:body use="literal"/> |
| </wsdl:output> |
| </wsdl:operation> |
| |
| <wsdl:operation name="MultipleParametersAddItem"> |
| <wsdlsoap:operation soapAction="MultipleParametersAddItem"/> |
| <wsdl:input> |
| <wsdlsoap:body use="literal"/> |
| </wsdl:input> |
| <wsdl:output> |
| <wsdlsoap:body use="literal"/> |
| </wsdl:output> |
| </wsdl:operation> |
| </wsdl:binding> |
| |
| |
| <!-- SERVICE --> |
| |
| <wsdl:service name="Axis2UserGuideService"> |
| <wsdl:port binding="impl:Axis2UserGuideSoapBinding" |
| name="Axis2UserGuide"> |
| <wsdlsoap:address location="http://localhost:8080/axis2/services/Axis2UserGuide"/> |
| </wsdl:port> |
| </wsdl:service> |
| </wsdl:definitions> |
| </pre></div> |
| |
| <p>Note that the document defines four operations, DoInOnly, |
| NoParameters, TwoWayOneParameterEcho, and |
| MultipleParametersAddItem. Each client will include methods for |
| calling each of these operations.</p> |
| |
| <p>(For more information on WSDL, refer to: <a class="externalLink" href="http://www.w3.org/2002/ws/desc/">http://www.w3.org/2002/ws/desc/</a> |
| .)</p> |
| |
| <p><b>The short story:</b></p> |
| |
| <ol style="list-style-type: decimal"> |
| |
| <li><a href="../download.cgi#std-bin">Download</a> |
| and unpack the Apache Axis2 Standard Distribution, if you have not |
| done so already.</li> |
| |
| <li>Create the client classes with the following command:<br /> |
| |
| <div> |
| <pre> |
| %AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d xmlbeans -s |
| </pre></div></li> |
| |
| <li>Create the client (for example, Client.java) and save it in the |
| org/apache/axis2/axis2userguide directory.</li> |
| |
| <li>Build the client by typing: <tt>ant jar.client.</tt></li> |
| |
| <li>Make sure all the .jar files in the Axis2 lib directory are in |
| the CLASSPATH.</li> |
| |
| <li>Assuming you have a corresponding service, run the client by |
| adding the generated Axis2UserGuideService-test-client.jar file in |
| build/lib to the CLASSPATH and type: <tt>java |
| org.apache.axis2.axis2userguide.Client</tt></li> |
| </ol> |
| |
| <p><b>The long story:</b></p> |
| |
| <p><a href="../download.cgi#std-bin">Download</a> |
| and unpack the Apache Axis2 Standard Distribution, if you have not |
| done so already. The <a href="../download.cgi#war">WAR |
| distribution</a> does not include the necessary utilities for |
| generating code, such as WSDL2Java.</p> |
| |
| <p>The XMLBeans method of generating clients, unlike ADB, creates |
| individual classes for each object it must model. For example, |
| generating a client for this WSDL file created 642 files and |
| folders. A small number of these files are directly related to the |
| actual client you're creating. The rest are related to the |
| processing of XML, and include data bound objects for schemas, |
| encodings, and other objects needed to process messages.</p> |
| |
| <p>To generate the client, issue the following command in Listing |
| 2.</p> |
| |
| <p><b>Code Listing 2. Generating the client</b></p> |
| |
| <div> |
| <pre> |
| %AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d xmlbeans -s |
| </pre></div> |
| |
| <p>This command analyzes the WSDL file and creates the stubs in the |
| package org.apache.axis2.axis2userguide. The options specify that |
| you want the XMLBeans data binding method (-d), and synchronous or |
| blocking methods (-s). In other words, when the client makes an |
| In-Out call to the service, it will wait for a response before |
| continuing.</p> |
| |
| <p>Once you run this command, you will see several new items in the |
| directory. The first is the build.xml file, which contains the |
| instructions for <a class="externalLink" href="http://ant.apache.org/">Ant</a> to |
| compile the generated classes. The second is the src directory, |
| which contains all the generated classes. The third is the |
| resources directory, which includes files related to the actual |
| data binding process.</p> |
| |
| <p>Now you need a client. To create a client, create a new class |
| and save it as Client.java in the org/apache/axis2/axis2userguide |
| directory. It should contain the following code in Listing 3.</p> |
| |
| <p><b>Code Listing 3: Client.java</b></p> |
| |
| <div> |
| <pre> |
| package org.apache.axis2.axis2userguide; |
| |
| public class Client{ |
| public static void main(java.lang.String args[]){ |
| try{ |
| Axis2UserGuideServiceStub stub = |
| new Axis2UserGuideServiceStub |
| ("http://localhost:8080/axis2/services/Axis2UserGuideService"); |
| |
| doInOnly(stub); |
| twoWayOneParameterEcho(stub); |
| noParameters(stub); |
| multipleParameters(stub); |
| |
| } catch(Exception e){ |
| e.printStackTrace(); |
| System.out.println("\n\n\n"); |
| } |
| } |
| |
| /* fire and forget */ |
| public static void doInOnly(Axis2UserGuideServiceStub stub){ |
| try{ |
| DoInOnlyRequestDocument req = |
| DoInOnlyRequestDocument.Factory.newInstance(); |
| DoInOnlyRequestDocument.DoInOnlyRequest data = |
| req.addNewDoInOnlyRequest(); |
| |
| data.setMessageString("fire and forget it!"); |
| |
| stub.DoInOnly(req); |
| System.out.println("done"); |
| } catch(Exception e){ |
| e.printStackTrace(); |
| System.out.println("\n\n\n"); |
| } |
| } |
| |
| /* two way call/receive */ |
| public static void twoWayOneParameterEcho(Axis2UserGuideServiceStub stub){ |
| try{ |
| TwoWayOneParameterEchoRequestDocument req = |
| TwoWayOneParameterEchoRequestDocument.Factory.newInstance(); |
| TwoWayOneParameterEchoRequestDocument.TwoWayOneParameterEchoRequest data = |
| req.addNewTwoWayOneParameterEchoRequest(); |
| |
| data.setEchoString("echo! ... echo!"); |
| |
| TwoWayOneParameterEchoResponseDocument res = |
| stub.TwoWayOneParameterEcho(req); |
| |
| System.out.println(res.getTwoWayOneParameterEchoResponse().getEchoString()); |
| } catch(Exception e){ |
| e.printStackTrace(); |
| System.out.println("\n\n\n"); |
| } |
| } |
| |
| /* No parameters */ |
| public static void noParameters(Axis2UserGuideServiceStub stub){ |
| try{ |
| NoParametersRequestDocument req = |
| NoParametersRequestDocument.Factory.newInstance(); |
| NoParametersRequestDocument.NoParametersRequest data = |
| req.addNewNoParametersRequest(); |
| |
| System.out.println(stub.NoParameters(req)); |
| } catch(Exception e){ |
| e.printStackTrace(); |
| System.out.println("\n\n\n"); |
| } |
| } |
| |
| /* multiple parameters */ |
| public static void multipleParameters(Axis2UserGuideServiceStub stub){ |
| try{ |
| MultipleParametersAddItemRequestDocument req = |
| MultipleParametersAddItemRequestDocument.Factory.newInstance(); |
| MultipleParametersAddItemRequestDocument. |
| MultipleParametersAddItemRequest data = |
| req.addNewMultipleParametersAddItemRequest(); |
| |
| data.setPrice((float)1.99); |
| data.setItemId((int)23872983); |
| data.setDescription("Must have for cooking"); |
| data.setItemName("flour"); |
| |
| MultipleParametersAddItemResponseDocument res = |
| stub.MultipleParametersAddItem(req); |
| MultipleParametersAddItemResponseDocument. |
| MultipleParametersAddItemResponse dataRes = |
| res.getMultipleParametersAddItemResponse(); |
| |
| System.out.println(dataRes.getSuccessfulAdd()); |
| System.out.println(dataRes.getItemId()); |
| } catch(Exception e){ |
| e.printStackTrace(); |
| System.out.println("\n\n\n"); |
| } |
| } |
| } |
| </pre></div> |
| |
| <p>XMLBeans uses a different architecture from ADB. In XMLBeans, |
| processing centers around documents, which are created through the |
| use of factories, and which include inner classes for the objects |
| they contain. The process is still the same -- you create a |
| request, and send it using the stub -- the code is just a bit more |
| complex.</p> |
| |
| <p>To build the client, type: <tt>ant jar.client</tt></p> |
| |
| <p>This action creates two new directories, build and test. The |
| test directory will be empty, but the build directory will contain |
| two versions of the client. The first version in the lib directory |
| consists of two .jar files, one containing the Client class and the |
| stub implementations, and the other containing the XMLBeans-related |
| classes. The second version in the classes directory consists of |
| just the raw classes.</p> |
| |
| <p>Make sure all the .jar files in the Axis2 lib directory are on |
| the classpath.</p> |
| |
| <p>If you have a service corresponding to this client (if you |
| don't, check out the <a href="userguide-buildingservices.html">Building Services</a> document) |
| you can run the client by adding the two .jar files to your |
| classpath and typing: |
| <tt>java.org.apache.axis2.axis2userguide.Client</tt></p> |
| |
| <p>You should see the response in a console window of your servlet |
| container. It should look something like this:</p> |
| |
| <p><img src="images/fig04.jpg" alt="Response in a console window of your servlet container" /><br /></p> |
| |
| </html> |
| </div> |
| </div> |
| </div> |
| |
| <hr/> |
| |
| <footer> |
| <div class="container-fluid"> |
| <div class="row-fluid"> |
| <p >Copyright © 2004–2016 |
| <a href="http://www.apache.org/">The Apache Software Foundation</a>. |
| All rights reserved. |
| |
| </p> |
| </div> |
| |
| |
| </div> |
| </footer> |
| </body> |
| </html> |