Hello everyone, hope all is well with you this Monday...

I am trying to figure out why my web services do not work in Tomcat. I have not 
found useful information on the web as most searches bring back information 
from much older versions of Tomcat.

The following shows my web service code in eclipse

package com.surecomp.allMATCH.client.webservices;

import javax.jws.*;

import com.surecomp.allMATCH.client.IReasonCode;
import com.surecomp.allMATCH.client.businesslogic.ReasonCode;

@WebService(serviceName="ReasonCodeService")
public class ReasonCodeService implements IReasonCode {
        @WebMethod
        public String getReasonCodeData(String sSession, int iSiteId) {
                IReasonCode obj = (IReasonCode)ReasonCode.newInstance("");
                return obj.getReasonCodeData(sSession,iSiteId);
        }
        @WebMethod
        public String saveReasonCode(String sSession, int iSiteId, String 
sCode, String sDescription, String sUser) {
                IReasonCode obj = (IReasonCode)ReasonCode.newInstance("");
                return obj.saveReasonCode(sSession, iSiteId, sCode, 
sDescription, sUser);
        }
        @WebMethod
        public String deleteReasonCode(String sSession, int iSiteId, int 
iExceptionId, String sCode, String sDesc, String sUser) {
                IReasonCode obj = (IReasonCode)ReasonCode.newInstance("");
                return obj.deleteReasonCode(sSession, iSiteId, iExceptionId, 
sCode, sDesc, sUser);
        }
        @WebMethod
        public String approveReasonCode(String sSession, int iSiteId, int 
iExceptionId, String sCode, String sDesc, String sUser) {
                IReasonCode obj = (IReasonCode)ReasonCode.newInstance("");
                return obj.approveReasonCode(sSession, iSiteId, iExceptionId, 
sCode, sDesc, sUser);
        }
}


Eclipse makes the war file I am using. The first item is found by help via this 
group is that url-pattern must start with a slash. Not sure why Eclipse would 
not include the Slash as its required. So I added them and the system initially 
appears to be working until I call a web service. The following is my web xml.

<?xml version='1.0' encoding='UTF-8'?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; version="2.5" 
id="web-app_1">
  <display-name>allMATCHWeb</display-name>
  <servlet>
    <servlet-name>InitServlet</servlet-name>
    <servlet-class>com.surecomp.allMATCH.client.InitServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>dataextract.csv</servlet-name>
    <servlet-class>com.surecomp.allMATCH.client.InitServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>LearnedExceptionServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.LearnedExceptionService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>DataExtractServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.DataExtractService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>ReportServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.ReportService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>BranchesServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.BranchesService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>ContactServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.ContactService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>ArchiveServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.ArchiveService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>CLSStatusServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.CLSStatusService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>LanguageServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.LanguageService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>TradeLocksServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.TradeLocksService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>PasswordSettingsServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.PasswordSettingsService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>BICServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.BICService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>LoginServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.LoginService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>MonitorServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.MonitorService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>BrokerServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.BrokerService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>QueueServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.QueueService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>HolidayServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.HolidayService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>CurrencyServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.CurrencyService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>OverviewServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.OverviewService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>PauseServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.PauseService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>CustomerServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.CustomerService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>MatchingLogicServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.MatchingLogicService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>MessageServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.MessageService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>LicenseUsageServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.LicenseUsageService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>UsersServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.UsersService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>HelpServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.HelpService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>LogServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.LogService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>ReasonCodeServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.ReasonCodeService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>SupportEmailServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.SupportEmailService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>NewPasswordServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.NewPasswordService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>LearnedServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.LearnedService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>CommentsServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.CommentsService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>LogoutServiceServlethttp</servlet-name>
    
<servlet-class>com.surecomp.allMATCH.client.webservices.LogoutService</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>InitServlet</servlet-name>
    <url-pattern>/InitServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>dataextract.csv</servlet-name>
    <url-pattern>/dataextract.csv</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LearnedExceptionServiceServlethttp</servlet-name>
    <url-pattern>/LearnedExceptionService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>DataExtractServiceServlethttp</servlet-name>
    <url-pattern>/DataExtractService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ReportServiceServlethttp</servlet-name>
    <url-pattern>/ReportService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>BranchesServiceServlethttp</servlet-name>
    <url-pattern>/BranchesService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ContactServiceServlethttp</servlet-name>
    <url-pattern>/ContactService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ArchiveServiceServlethttp</servlet-name>
    <url-pattern>/ArchiveService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>CLSStatusServiceServlethttp</servlet-name>
    <url-pattern>/CLSStatusService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LanguageServiceServlethttp</servlet-name>
    <url-pattern>/LanguageService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TradeLocksServiceServlethttp</servlet-name>
    <url-pattern>/TradeLocksService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>PasswordSettingsServiceServlethttp</servlet-name>
    <url-pattern>/PasswordSettingsService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>BICServiceServlethttp</servlet-name>
    <url-pattern>/BICService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LoginServiceServlethttp</servlet-name>
    <url-pattern>/LoginService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>MonitorServiceServlethttp</servlet-name>
    <url-pattern>/MonitorService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>BrokerServiceServlethttp</servlet-name>
    <url-pattern>/BrokerService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>QueueServiceServlethttp</servlet-name>
    <url-pattern>/QueueService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>HolidayServiceServlethttp</servlet-name>
    <url-pattern>/HolidayService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>CurrencyServiceServlethttp</servlet-name>
    <url-pattern>/CurrencyService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>OverviewServiceServlethttp</servlet-name>
    <url-pattern>/OverviewService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>PauseServiceServlethttp</servlet-name>
    <url-pattern>/PauseService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>CustomerServiceServlethttp</servlet-name>
    <url-pattern>/CustomerService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>MatchingLogicServiceServlethttp</servlet-name>
    <url-pattern>/MatchingLogicService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>MessageServiceServlethttp</servlet-name>
    <url-pattern>/MessageService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LicenseUsageServiceServlethttp</servlet-name>
    <url-pattern>/LicenseUsageService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UsersServiceServlethttp</servlet-name>
    <url-pattern>/UsersService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>HelpServiceServlethttp</servlet-name>
    <url-pattern>/HelpService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LogServiceServlethttp</servlet-name>
    <url-pattern>/LogService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ReasonCodeServiceServlethttp</servlet-name>
    <url-pattern>/ReasonCodeService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>SupportEmailServiceServlethttp</servlet-name>
    <url-pattern>/SupportEmailService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>NewPasswordServiceServlethttp</servlet-name>
    <url-pattern>/NewPasswordService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LearnedServiceServlethttp</servlet-name>
    <url-pattern>/LearnedService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>CommentsServiceServlethttp</servlet-name>
    <url-pattern>/CommentsService</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LogoutServiceServlethttp</servlet-name>
    <url-pattern>/LogoutService</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>login.html</welcome-file>
  </welcome-file-list>
</web-app>

When Tomcat starts each web service throws the following error. I understand 
that loadonstart value of zero is default and not needed. Again, the 
war/web.xml is generated by eclipse.

INFO: Marking servlet ReasonCodeServiceServlethttp as unavailable
Jan 31, 2011 8:53:13 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /allMATCHWeb threw load() exception
java.lang.ClassCastException: 
com.surecomp.allMATCH.client.webservices.ReasonCodeService cannot be cast to 
javax.servlet.Servlet
        at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048)
        at 
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:996)
        at 
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4741)
        at 
org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5062)
        at 
org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5057)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

Is it a requirement for tomcat that a web service implements Servlet?

Can someone point me to a tomcat web service document or a working example. 
Have found several on line that do not work (at least with tomcat 7)...

Sincerely,

Robert Jenkin
Surecomp Services, Inc.
2 Hudson Place, 4th Floor
Hoboken, NJ 07030
Skype: robert.jenkin
Office: 201 217 1437 | Direct: 201 716 1219 | Mobile: 908 251 0537
http://www.Surecomp.com


-----Original Message-----
From: Christopher Schultz [mailto:ch...@christopherschultz.net]
Sent: Friday, January 28, 2011 2:54 PM
To: Tomcat Users List
Subject: Re: deploying a war file and starting the application

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Robert,

On 1/28/2011 1:09 PM, robert.jen...@surecomp.com wrote:
> I have downloaded and configured Tomcat 7. All appears to be working.

Glad to hear it!

> I have deployed a war file that currently works with WebSphere 7 and
> WebLogic 11g.
>
> The first issue I had was with url-pattern. It appears that Tomcat
> requires they start with a slash (/). I made the change and I no longer
> receive any errors while starting Tomcat.

This is a spec requirement, not a Tomcat requirement. Other containers
may be more lenient.

> The following image shows the startup window and that my war is being
> deployed. Within the webapps directory a directory containing my webapp
> is created.

Images are stripped from posts to the list. Can you post it somewhere
online and give us a link? Or, just copy/paste any relevant content from
your screen?

> My initial servlet is called InitServlet and it is marked as
> load-on-startup (please see following image) .

Ditto.

> I have two questions
>
> 1)      If I type http://localhost:7080/allMATCHWeb in to a browser
> shouldn’t see this login.html page? I don’t… however I can access it by
>  http://localhost:7080/allMATCHWeb/login.html

You'll have to provide your web.xml for us to know when you need
authentication challenges. Are you using container-managed authentication?

> 2)      The load-on-start InitServlet class is not being executed as I
> have no logs generated or any other startup items handled, any ideas?

Again, including web.xml should help. Note that using an "InitServlet"
hasn't been recommended since the addition of the ServletContextListener
interface a long time ago.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1DHsYACgkQ9CaO5/Lv0PBhSQCeNtR93FGfQecpwJ/n02ioUhpP
x2MAn2WmpQ0vzJ3YAbrMQrE9SnMmOq++
=WYyb
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


This mail was sent via Mail-SeCure System.

Reply via email to