You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Wei Wang <ww...@bTrade.com> on 2001/12/27 18:08:02 UTC

custom protocol handler problem in Tomcat4.0.1



Dear all,

I am writing a custom protocol handler to process the URL like
'cid:Test-2001-12-27-13-01'. I have implemented the Handler and
CidURLConnection classes to parse and process the URL. It works fine in
stand alone application and JRun servlet container.
When I test it in Tomcat, I got problem with unrecognizing the protocol.


1)My setup:
  Platform: Windows 2000
  Java version: JDK1.4
  Tomcat Version: 4.0.1 stand alone
  
2)I started Tomcat adding system property setup 
-Djava.protocol.handler.pkgs=com.btrade.ebxml.protocols. In the calling
servlet, I could retrieve the system property. 
But Tomcat cannot recognize the protocol because I got the
MalformedURLexception. Here is part of the log information:

///////////////////////////////////////////////////////////////////
01-12-27-10-39-02 ebxml : catalina.base = C:\jakarta-tomcat-4.0.1
01-12-27-10-39-02 ebxml : catalina.home = C:\jakarta-tomcat-4.0.1
01-12-27-10-39-02 ebxml : java.protocol.handler.pkgs =
com.btrade.ebxml.protocols|com.sun.net.ssl.internal.www.protocol
java.net.MalformedURLException: unknown protocol: cid
        at java.net.URL.<init>(URL.java:576)
        at java.net.URL.<init>(URL.java:467)
        at java.net.URL.<init>(URL.java:416)
        at com.btrade.ebxml.CidURLTest.open(CidURLTest.java:10)
        at ebxml.init(ebxml.java:70)
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:85
2)
        at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.jav
a:615)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:201)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2344)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:164)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:170)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
462)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:163)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1011)
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1106)
        at java.lang.Thread.run(Thread.java:539)
01-12-27-10-39-02 ebxml : doGet()

///////////////////////////////////////////////////////////

Part of servlet source code like following:

public class ebxml extends HttpServlet implements SingleThreadModel
{   
       
     static EventTrace eventTrace = null;  
    
        public void init (ServletConfig config)throws ServletException {

          try {
          	super.init(config);
          	
          	String logFile =  config.getInitParameter("logPath");
          	if(logFile != null)
          	  eventTrace = new EventTrace(logFile);
          	else
          	  eventTrace = new EventTrace();
          	   
                 
                eventTrace.log("catalina.base = " +
System.getProperty("catalina.base"), "ebxml");
                eventTrace.log("catalina.home = " +
System.getProperty("catalina.home"), "ebxml");
                eventTrace.log("java.protocol.handler.pkgs = " +
System.getProperty("java.protocol.handler.pkgs"), "ebxml");
                
 
/*******************************************************/
                /* test Cid URL */
                CidURLTest.open("cid:PL2001-12-26-10-38-16-06721");
             
          } catch(Exception e) { e.printStackTrace(); }
        }
        
        public void doGet(HttpServletRequest req, HttpServletResponse
res) throws ServletException, IOException 
        {
        	eventTrace.log("doGet()", "ebxml");
        	res.setContentType("text/html");
        	PrintWriter out = res.getWriter();
        	String title = "bTrade ebxml receiver";
        	out.println("<html>\n" + 
        	            "Welcome to bTrade ebxml receiver. Please
post your data. Thanks.\n" +
        	            "</html>");
        	out.close();
        }

       ...
}

////////////////////////////////////////////////////////////////////////
////////////////////////////////////

Can anybody give me some help?

Thanks in advance,

-Wei
-----------------------------------------------------
Wei Wang
bTrade, Inc
2324 GateWay Dr,
Irving, TX 75063
972-580-2948
wwang@btrade.com
-----------------------------------------------------


--
To unsubscribe:   <ma...@jakarta.apache.org>
For additional commands: <ma...@jakarta.apache.org>
Troubles with the list: <ma...@jakarta.apache.org>