2

我在 Netbeans 中实现了一个基于 SOAP 的 Web 服务。我在服务器端遇到了一些问题,它给了我错误 500,内部错误,因为我无法自动调试它,它告诉我要检查日志,但我的 catalina.out充满了这段代码:

     Aug 20, 2011 11:01:32 PM org.apache.catalina.realm.CombinedRealm startInternal
        SEVERE: Failed to start "org.apache.catalina.realm.UserDatabaseRealm/1.0" realm
        org.apache.catalina.LifecycleException: No UserDatabase component found under key UserDatabase
            at org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:264)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.realm.CombinedRealm.startInternal(CombinedRealm.java:201)
            at org.apache.catalina.realm.LockOutRealm.startInternal(LockOutRealm.java:120)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1026)
            at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
        Aug 20, 2011 11:01:32 PM org.apache.catalina.startup.HostConfig deployWAR
        INFO: Deploying web application archive soap.war
        Aug 20, 2011 11:01:33 PM org.apache.catalina.startup.HostConfig deployDirectory
        INFO: Deploying web application directory manager
        Aug 20, 2011 11:01:34 PM org.apache.catalina.startup.HostConfig deployDirectory
        INFO: Deploying web application directory examples
        Aug 20, 2011 11:01:35 PM org.apache.catalina.startup.HostConfig deployDirectory
        INFO: Deploying web application directory ROOT
        Aug 20, 2011 11:01:35 PM org.apache.catalina.startup.HostConfig deployDirectory
        INFO: Deploying web application directory host-manager
        Aug 20, 2011 11:01:36 PM org.apache.catalina.startup.HostConfig deployDirectory
        INFO: Deploying web application directory docs
        Aug 20, 2011 11:01:37 PM org.apache.catalina.startup.HostConfig deployDirectory
        INFO: Deploying web application directory axis
        - Unable to find config file.  Creating new servlet engine config file: /WEB-INF/server-config.wsdd
        Aug 20, 2011 11:01:39 PM org.apache.coyote.AbstractProtocolHandler start
        INFO: Starting ProtocolHandler ["http-bio-8080"]
        Aug 20, 2011 11:01:39 PM org.apache.coyote.AbstractProtocolHandler start
        INFO: Starting ProtocolHandler ["ajp-bio-8009"]
        Aug 20, 2011 11:01:39 PM org.apache.catalina.startup.Catalina start
        INFO: Server startup in 7851 ms

基本上它充满了相同的代码,只有在我启动或关闭我的 Tomcat 时才会显示,没有什么有用的东西可以让我知道为什么它给我错误 500。有人可以告诉我可能是什么原因

      org.apache.catalina.realm.CombinedRealm startInterna

提前非常感谢。

这是 server.xml 的一部分,我根据我的数据库和密码等对其进行了更改以赋予它值。

                 <GlobalNamingResources>
        <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
        -->
        <Resource name="NeuroJDBC" auth="Container"
              type="javax.sql.Datasource"
            driverClassName="com.mysql.jdbc.Driver"
            password="alpbra"
            maxIdle="2"
            maxWait="5000"
            removeAbandoned="true"
            removedTimeout="60"
            username="root"
            url="jdbc:mysql://localhost:3306/NeuroDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
      </GlobalNamingResources>
4

2 回答 2

1

在我的情况下,Tomcat 无法重新启动并抛出相同的消息。但问题出在 POM.xml 中,我提到 JAVA 版本为 1.8,代码是在 JDK 1.8 上编译的。但是在服务器上安装的 JDK 是 1.7。更改版本并创建在 JDK1.7 上编译的 war 文件解决了我的问题。希望这可以帮助某人

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.7</java.version>
</properties>
于 2018-09-07T06:36:45.013 回答
0

请参阅此链接http://tomcat.apache.org/tomcat-5.5-doc/config/realm.html(如果您不使用 tomcat 5,请参阅您的 tomcat 版本的领域文档)。从堆栈跟踪看来,您在领域存在配置问题。

堆栈跟踪中的错误:在关键 UserDatabase 下找不到 UserDatabase 组件

在你的 $CATALINA_HOME/conf/server.xml 你可以尝试改变

<Resource name="NeuroJDBC" auth="Container"

<Resource name="UserDatabase" auth="Container"
于 2011-08-20T22:49:32.120 回答