<!-- | |
~ 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. | |
--> | |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |
<html> | |
<head> | |
<meta http-equiv="content-type" content=""/> | |
<title></title> | |
<link href="../../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" /> | |
</head> | |
<body lang="en"> | |
<h1>Code Listing For Axis2SampleDocLitService Service</h1> | |
<h2>Server:</h2> | |
<h3>echoString</h3> | |
<p>Locate the following code segment in "Axis2SampleDocLitServiceSkeleton.java".<br/> | |
</p> | |
<source><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></source> | |
<p>Then complete the code by adding the business logic as shown below:</p> | |
<source> | |
<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> | |
</source> | |
<h3>echoStringArray</h3> | |
<p>The code segment for echoStringArray is shown below:</p> | |
<source> | |
<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/> } | |
//return the output document. | |
retDoc.setEchoStringArrayReturn(retParams); | |
return retDoc; | |
}</pre> | |
</source> | |
<h3>echoStruct</h3> | |
<p>The code segment for echoStruct is shown below:</p> | |
<source><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></source> | |
<h2>Client:</h2> | |
<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> | |
<source><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></source> | |
<p>Similarly the following code fragments show client side code for | |
echoStringArray operation and echoStruct operation respectively.</p> | |
<h3>Client for echoStringArray Operation</h3> | |
<source><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> | |
</source> | |
<h3>Client for echoStruct Operation</h3> | |
<source><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></source> | |
</body> | |
</html> |