| <!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> |