有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Websphere路由到文件位置而不是控制器

我有一个POST方法,看起来像这样:

http://SERVER-IP/demoapp/v2/mobile/message

并提供一个JSON负载。但是,与预期的路由到正确控制器不同,is似乎正在搜索文件并引发给定的异常:

[ERROR   ] SRVE0777E: Exception thrown by application class 'com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.service:1,624'
javax.servlet.ServletException: java.io.FileNotFoundException: SRVE0190E: File not found: /v2/mobile/message
    at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.service(DefaultExtensionProcessor.java:1624)
    at [internal classes]
    at org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler.handleRequest(DefaultServletHttpRequestHandler.java:122)
    at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1287)
    at [internal classes]
Caused by: java.io.FileNotFoundException: SRVE0190E: File not found: /v2/mobile/message
    at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:528)
    ... 12 more

我对Websphere非常陌生,因此在此方面的任何帮助都将不胜感激。另外,不管它值多少钱,我之前已经让它在Tomcat上正常工作了,这让我相信这一定是Websphere的配置问题

该应用程序位于servers/demoServer/dropins/war/demoapp下

我在那个位置提取了war文件的内容

更新: 下面是shell和web的方法。按要求提供xml:

@RequestMapping(value="/v2/mobile/message",method=RequestMethod.POST)
    public ResponseEntity<String> mobileDeviceMessagev2(HttpServletRequest request) throws Exception {
        ...code here....
}

    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>inauth.perapp.log4j.properties</param-name>
        <param-value>${log4j.properties.collector.path}</param-value>
    </context-param>

<context-param>
    <param-name>contextClass</param-name>
    <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</context-param>

<context-param>
<param-name>contextConfigLocation</param-name>
    <param-value></param-value>
</context-param>

<context-param>
    <param-name>contextInitializerClasses</param-name>
    <param-value>com.inauth.fingerprint.collector.CollectorInitializer</param-value>
</context-param>

<servlet>
    <servlet-name>collector</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextClass</param-name>
      <param-value>
          org.springframework.web.context.support.AnnotationConfigWebApplicationContext
      </param-value>
    </init-param>
    <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>com.inauth.fingerprint.collector.DispatcherConfig</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>collector</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
<error-page>
    <error-code>404</error-code>
    <location>/WEB-INF/static/404.html</location>
</error-page>
<error-page>
    <error-code>500</error-code>
    <location>/WEB-INF/static/500.html</location>
</error-page>


共 (0) 个答案