Lin728
05-03-2004, 12:08
Hallo!
Da ich eine Client/server-Anwendung von Socket-basierender Kommunikation auf HTTP-Kommunikatioin umstellen muss, habe ich mich ein wenig mit tomcat auseinandergesetzt.
Ich habe zur Kommunkation ein SOAP-Framework, welches als Servlet laufen muss.
Ein Beispiel-SoapServer sieht z.B. so aus:
package examples.soapservice;
import javax.servlet.*;
import javax.servlet.http.*;
import org.ksoap.ClassMap;
import java.util.HashMap;
public class AlertServlet extends org.ksoap.servlet.SoapServlet
{
HashMap instanceMap = new HashMap();
public void init(ServletConfig config) throws ServletException
{
super.init(config);
ClassMap classMap = getClassMap();
classMap.addMapping("examples.soapservice", "SystemAlert", new SystemAlert().getClass() );
AlertService alertService = new AlertService();
instanceMap.put("AlertService", alertService);
}
public void doPost (HttpServletRequest req, HttpServletResponse res) throws ServletException, java.io.IOException
{
System.out.println("PATH_INFO=" + req.getPathInfo() );
System.out.println("SERVICE=" + req.getParameter("service") );
super.doPost(req,res);
}
protected Object getInstance (HttpServletRequest req)
{
Object result = instanceMap.get(req.getParameter("service") );
return result;
}
}
Was muss ich denn jetzt machen, damit ich per Tomcat darauf zugreifen kann? Tomcat läuft bereits samt Beispielen, aber was ich jetzt mit dem Class-File machen muss.
Wie gesagt ich brauche keine HTML-Ausgabe, das einizge was funktionieren soll ist SOAP über HTTP.
Da ich eine Client/server-Anwendung von Socket-basierender Kommunikation auf HTTP-Kommunikatioin umstellen muss, habe ich mich ein wenig mit tomcat auseinandergesetzt.
Ich habe zur Kommunkation ein SOAP-Framework, welches als Servlet laufen muss.
Ein Beispiel-SoapServer sieht z.B. so aus:
package examples.soapservice;
import javax.servlet.*;
import javax.servlet.http.*;
import org.ksoap.ClassMap;
import java.util.HashMap;
public class AlertServlet extends org.ksoap.servlet.SoapServlet
{
HashMap instanceMap = new HashMap();
public void init(ServletConfig config) throws ServletException
{
super.init(config);
ClassMap classMap = getClassMap();
classMap.addMapping("examples.soapservice", "SystemAlert", new SystemAlert().getClass() );
AlertService alertService = new AlertService();
instanceMap.put("AlertService", alertService);
}
public void doPost (HttpServletRequest req, HttpServletResponse res) throws ServletException, java.io.IOException
{
System.out.println("PATH_INFO=" + req.getPathInfo() );
System.out.println("SERVICE=" + req.getParameter("service") );
super.doPost(req,res);
}
protected Object getInstance (HttpServletRequest req)
{
Object result = instanceMap.get(req.getParameter("service") );
return result;
}
}
Was muss ich denn jetzt machen, damit ich per Tomcat darauf zugreifen kann? Tomcat läuft bereits samt Beispielen, aber was ich jetzt mit dem Class-File machen muss.
Wie gesagt ich brauche keine HTML-Ausgabe, das einizge was funktionieren soll ist SOAP über HTTP.