Listing 1

import Axis.*;
import SessionManager.*;
import java.util.Properties;
import org.omg.CORBA.ORB;

public class AxisCalculator
{
public static void main(String args[])
{

AxisCalculator ax= new AxisCalculator();
calculator comp = ax.getComponent();
try {
System.out.println("Result:" + comp.add(7,6));
} catch(Exception e) {

System.out.println("functioncall failed: " + e.toString());
}

}

public int add(int i1, int i2)
{
calculator comp = getComponent();
try {
return comp.add(i1,i2);
} catch(Exception e) {
System.out.println("Functioncall failed: " + 
e.toString());
return -1;
}
}

public int subtract(int i1, int i2)
{
calculator comp = getComponent();
try {
return comp.subtract(i1,i2);
} catch(Exception e) {
System.out.println("Functioncall failed: " + 
e.toString());
return -1;
}
}

private static calculator getComponent()
{
Properties props = new Properties();
props.put("org.omg.CORBA.ORBClass", 
"com.sybase.CORBA.ORB");
ORB orb = ORB.init(((String []) (null)), props);
SessionManager.Manager manager = 
ManagerHelper.narrow(orb.string_to_object("iiop://
localhost:9000"));
SessionManager.Session session = 
manager.createSession("jagadmin", "");

SessionManager.Factory factory = FactoryHelper.narrow(session.lookup("Axis/calculator"));
calculator comp = calculatorHelper.narrow
(factory.create());
return comp;
}

}

Listing 2

import java.io.PrintStream;
import java.net.URL;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.Options;

public class CalcClient
{

public CalcClient()
{
}

public static void main(String args[])
throws Exception
{
Options options = new Options(args);
String endpoint = "http://localhost:" + 
options.getPort()
+ "/axis/AxisCalculator.jws";
System.out.println("Server: " + endpoint);
args = options.getRemainingArgs();
if(args == null || args.length != 3)
{
System.err.println("Usage: CalcClient 
<add|subtract> arg1 arg2");
return;
}
String method = args[0];
if(!method.equals("add") && !method.equals
("subtract"))
{
System.err.println("Usage: CalcClient 
<add|subtract> arg1 arg2");
return;
} else
{
Integer i1 = new Integer(args[1]);
Integer i2 = new Integer(args[2]);
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new URL(
endpoint));
call.setOperationName(method);
System.out.println("Method: " + method);
call.addParameter("op1", XMLType.XSD_INT, 
ParameterMode.IN);
call.addParameter("op2", XMLType.XSD_INT, 
ParameterMode.IN);
call.setReturnType(XMLType.XSD_INT);
Integer ret = (Integer)call.invoke(new 
Object[] {
i1, i2
});
System.out.println("Got result : " + ret);
return;
}
}
}


Listing 3 

OLEObject soap, t 
long ll_status
String ls_retVal
String ls_url

ls_url = "http://localhost:8080/axis/AxisCalculator.jws"

soap = CREATE OLEObject
t = CREATE OLEObject

ll_status = soap.ConnectToNewObject ("PocketSOAP.Envelope.2")
ll_status = t.ConnectToNewObject ("PocketSOAP.HTTPTransport.2")
soap.EncodingStyle = ""

soap.methodName = "subtract"

soap.Parameters.Create( "a1", 6)
soap.Parameters.Create( "a2", 10)

t.Send(ls_url, soap.serialize)
soap.parse(t)
ls_retVal = String(soap.Parameters.Item(0).Value)
MessageBox("Info", "AXIS returns result: " + ls_retVal)

DESTROY soap
DESTROY t