Apache|services|web
Related downloads:
Apache SOAP http://xml.apache.org/soap/index.html
Tomcat4.0.4 http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.4/
1. Install Apache SOAP to C packing directory, namely C:\soap-2_3_1
2. Install Tomcat4.0.4 to C:\Program files\apache Tomcat 4.0
3. Copy C:\soap-2_3_1\webapps\soap.war files to C:\Program files\apache Tomcat 4.0\webapps Directory
4. Set up Test catalogue C:\soaptest and C:\soaptest\classes
5. Modify system environment variable classpath, join C:\soaptest\classes\test.jar
6. To start Tomca4.0.4, there are two methods: A. Perform C:\Program Files\apache Tomcat 4.0\bin\startup.ba;b. Turn on Apache Tomcat4.0.4 through system Managed service management
7. Set up test Java source files, the source files should be placed under the directory C:\soaptest
Simplemath.java
Package test;
public class Simplemath
{
Public double Getsinvalue (double input)
{
DOUBLE ret = Math.sin (input);
return ret;
}
}
---The second java source file----------------
Simplemathclient.java
Package test;
Import java.io.*;
Import java.net.*;
Import java.util.*;
Import org.apache.soap.util.xml.*;
Import org.apache.soap.*;
Import org.apache.soap.rpc.*;
public class Simplemathclient
{
public static void Main (string[] args) throws Exception {
System.err.println ("SOAP call testing");
Double value = Math.random ();
Simplemathclient SMC = new Simplemathclient ();
Invoking a remote SOAP service
Double returnvalue = smc.dorequest (value);
System.err.println ("The Sin value of" +value + "is:" +returnvalue);
}
Public double dorequest (double value) throws Exception {
Build the call.
Call call = new Call ();
Set the URI of the remote object
Call.settargetobjecturi ("Urn:test.math.sin");
Sets the method name of the call
Call.setmethodname ("Getsinvalue");
Set the encoding style
Call.setencodingstyleuri (CONSTANTS.NS_URI_SOAP_ENC);
To set the parameters of a method call
Vector params = new vector ();
Params.addelement (New Parameter ("Input", Double.class, new double (value), null));
Call.setparams (params);
Send RPC Request
Response resp = call.invoke (New URL ("Http://127.0.0.1:8080/soap/servlet/rpcrouter"), "");
if (Resp.generatedfault ()) {//Remote call error handling
Fault Fault = Resp.getfault ();
SYSTEM.OUT.PRINTLN ("The call failed:");
System.out.println ("Fault Code =" + Fault.getfaultcode ());
System.out.println ("Fault String =" + fault.getfaultstring ());
return 0.0d;
}
else {//call succeeded, get return value
Parameter result = Resp.getreturnvalue ();
Return (Double) Result.getvalue ()). Doublevalue ();
}
}
}
8. Compile Java source files and package
A. CD c:\soaptest
B. javac-d Classes *.java
C. CD classes
D. JAR-CVF Test.jar test
Release of 9.SOAP Services
Use IE browser to browse http://localhost:8080/soap/admin/index.html, enter deploy, fill in the following information:
ID:urn:test.math.sin
Scope:request
Methods Getsinvalue
Provider Type:java
Java Provider Provider class:test. Simplemath
Java Provider Static:no
Confirm the release, you can click the list to view the published service!
10. Run test program
A. CD c:\soaptest
B. Java test. Simplemathclien
You should be able to see the values returned, then prove that the configuration and test are successful and you can publish your own SOAP service later!
Reference books: Javaweb Service Application Development detailed