⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rpcrouter.java

📁 OpenWeb-UDDI是UDDI V2标准的实现
💻 JAVA
字号:
package org.huihoo.openweb.uddiserver.soap;

import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.huihoo.openweb.uddiserver.service.*;
import org.huihoo.openweb.uddiserver.util.*;

import org.huihoo.openweb.uddi.*;

/**
 *  RPCRouter.java
 * 
 *  
 *  @author <a href="mailto:powertyrael@163.net">Darth Vader</a> and <a href="mailto:13975192956@hnmcc.com">Spring</a>  create at 20:45:38 on 2003-5-6
 *  
 *  @version 1.0 alpha
 */
public class RPCRouter extends HttpServlet 
{

  public void doGet (HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException 
	{
		res.setContentType("text/xml");

		PrintWriter out = res.getWriter ();

		out.println("<html><head><title>OPENWEBUDDI RPC Router</title></head>");
		out.println ("<body><h1>OPENWEBUDDI RPC Router</h1>");
		out.println ("<p>Sorry, I don't speak via HTTP GET- you have to use");
		out.println ("HTTP POST to talk to me.</p></body></html>");
	}

	public void doPost (HttpServletRequest req, HttpServletResponse res)
		throws ServletException, IOException 
	{
		Connection con = null;
		PrintWriter out		= res.getWriter();
		try
		{
			res.setContentType("text/html");
			out.print( "<?xml version='1.0' encoding='UTF-8'?>");
			out.print( "<Envelope xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\">");
			out.print( "<Body>");
			SoapRequest soapRequest = new SoapRequest( req.getInputStream());
			SoapBody body = soapRequest.getBody();
			String apiName = body.getApiName();
			UddiObject param = body.getApiParam();
     		System.out.println("input doc");
            System.out.println(apiName);
       		System.out.println( param);
			con = SqlConnection.getConnection();
			UddiService uService = new UddiService( con);
			//con.setAutoCommit( false);
			UddiObject obj = uService.invokeAppropriateApi( apiName, param);
			//con.commit();
			con.close();
            System.out.println(obj);
			System.out.println( obj.getClass().getName());
			if( obj.getClass().getName().equals("org.huihoo.openweb.uddi.DispositionReport")) {
				out.print( "<Fault>");
				out.print( "<faultcode>Client</faultcode><faultstring>Client Error</faultstring><detail>");
				out.print( obj.toString());
				out.print( "</detail>");
				out.print( "</Fault>");
			}
			else {
				out.print( obj.toString());
			}
//			System.out.println( apiName);
//			System.out.println( obj);
		}
		catch (Exception e)
		{
			try {
				con.rollback();
				con.close();
			}
			catch ( Exception e1){
				e1.printStackTrace();
			}
			e.printStackTrace();
			out.print( "<Fault>");
			out.print( "<faultcode>Server</faultcode><faultstring>Server Error</faultstring><detail>");
			out.print( "Some Technical error has happened.");
			out.print( "</detail>");
			out.print( "</Fault>");
		}

		finally {
			out.print( "</Body>");
			out.print( "</Envelope>");
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -