2017-12-12 76 views
1

Tomcat 8.5에서 Weblogic 12c로 웹 서비스를 마이그레이션하려고합니다. 내 프로젝트는 Tomcat에서 잘 작동하므로 양쪽 모두 동일한 버전의 Java를 사용하고 있기 때문에 괜찮을 것으로 기대하고있었습니다.WAR 파일을 Tomcat에서 Weblogic 12c로 마이그레이션 할 수 없습니다.

Weblogic 콘솔을 사용하여 내 WAR를 배포 한 후 상태가 양호하고 실행 중임을 나타냅니다. 하지만 Chrome을 사용하여 연결하면 오류 500이 발생합니다. 웹 로직의 로그에 잘못 심지어 내가 파고 무슨 일이 일어나고 있는지 짐작하기 어렵다

<Error> <HTTP> <AdminServer> <[ACTIVE] ExecuteThread: '10' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <f21f82c8-a7fe-4d00-9ead-58094613f623-00000045> <1513072074680> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-101020> <[[email protected][app:testCMS module:testCMS.war path:null spec-version:3.1]] Servlet failed with an Exception 
java.lang.NullPointerException 
    at weblogic.servlet.internal.ServletRequestImpl$CookieKey.hashCode(ServletRequestImpl.java:2084) 
    at java.util.HashMap.hash(HashMap.java:338) 
    at java.util.HashMap.get(HashMap.java:556) 
    at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.getSessionIDFromMap(ServletRequestImpl.java:2819) 
    at weblogic.servlet.internal.ServletRequestImpl$SessionHelper._getSessionInternal(ServletRequestImpl.java:2902) 
    at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.getSessionInternal(ServletRequestImpl.java:2869) 
    at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.getSession(ServletRequestImpl.java:2859) 
    at weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.java:1513) 
    at weblogic.servlet.internal.ServletResponseImpl.encodeURL(ServletResponseImpl.java:690) 
    at weblogic.servlet.internal.ServletResponseImpl.encodeRedirectURL(ServletResponseImpl.java:673) 
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2226) 
    at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1691) 
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1651) 
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270) 
    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348) 
    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333) 
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54) 
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) 
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:346) 

사람이 어떻게이 이상한 문제를 해결하는 방법 제발 말할 수 있습니까?

+0

흠, 여하튼 그것은 그 자체를 해결했고 나는 어떤 일이 일어 났는지 몰랐다. 문제가 없는지 더 많은 테스트를 할 것입니다. – user6309529

+0

아니요, 여전히 도청 당하고 있습니다 ... – user6309529

답변

1

좋아, 답을 찾았습니다.

JSP 웹 사이트는 web.xml이있는 WEB-INF 폴더 안에 weblogic.xml이 있어야 Weblogic에 JSP와 함께 WAR를 올바르게 배포 할 수 있습니다.

왜 Weblogic 배포에서 해당 파일이 필요하지만 다른 파일 (예 : WAS/JBOSS/등)이 필요한지 모르겠지만 지금은 이유를 찾을 시간이 없습니다.

Weblogic 개발에 대한 다른 초보자가 나처럼이 문제에 직면 한 경우, 내가 좋아하는 예제가 필요하면 여기에 weblogic.xml 콘텐츠를 게시합니다.

<?xml version="1.0" encoding="UTF-8"?> 
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" 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_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.9/weblogic-web-app.xsd"> 
    <wls:weblogic-version>12.2.1.2</wls:weblogic-version> 
    <wls:context-root>testCMS</wls:context-root> 
</wls:weblogic-web-app>