package localhost.axis.calculator;
import localhost.axis.calculator.*;

import org.apache.axis2.transport.http.*;
import org.apache.axis2.context.*;
import org.apache.axis2.description.*;
import org.apache.axis2.rpc.receivers.*;
import org.apache.axis2.engine.*;

import java.util.*;

public class CalculatorServer_SimpleAxisServer {
	public static void main(String[] args)
	{     
		System.out.println("Hello World!");  
		int testingPort = 8080;
		try 
		{
			ConfigurationContext context = 
				ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);

			Map<String, MessageReceiver> mrMap = new HashMap<String, MessageReceiver>();
	        mrMap.put("http://www.w3.org/ns/wsdl/in-only", RPCInOnlyMessageReceiver.class.newInstance());
	        mrMap.put("http://www.w3.org/ns/wsdl/in-out", RPCMessageReceiver.class.newInstance());

			AxisService service =
		        AxisService.createService(
		        		CalculatorServer.class.getName(), 
		        		context.getAxisConfiguration(),
		        		mrMap, 
		        		"", // target namespace
		        		"http://localhost/axis/Calculator", // schema namespace
		        		CalculatorServer_SimpleAxisServer.class.getClassLoader());
			
			service.setName("Calculator");
			
			context.getAxisConfiguration().addService(service);
			
			SimpleHTTPServer server = new SimpleHTTPServer(context, testingPort);

			server.start();
		}
		catch (Exception e)
		{
			e.printStackTrace();
			System.out.println("\n\n\n");
		}
	}
}