2014-02-25 2 views
1

다음 프로젝트 설정에서 클래스로드 문제가 있습니다. EAR에 여러 WAR가 포함되어 있습니다.이 중 두 가지는 관련이 있으며 웹 및 ejb이라고 부릅니다. 우리는 Websphere 8을 사용하고 있습니다. 이제 ejb.war는 다수의 웹 서비스를 포함하는데, 그 중 하나는 새로 개발되었습니다. ejb.war의 일부 클래스는 실제로 axis2에 의해 생성됩니다. 이 ws를 호출하고 web.war에서 응답을 처리하려면 EAR에 몇 개의 jar를 포함시키고 각 war의 목록을 조정해야합니다. (?)Websphere 8에서 axis2 WS - JVMVRFY013

나는 axiom-api-1.2.13.jar를 EAR 파일에 포함 시켰고, 웹과 ejb WARS의 매니페스트에 추가했다. Base64EncodedFileType 개체를 포함하는 응답을 처리하는 데 필요합니다. - 그것은 webshpere과 축 2에 대해 알려진 문제의

Caused by: java.lang.VerifyError: JVMVRFY013 class loading constraint violated; class=ch/teledata/ws/schema/bisv3_6/Request ... 

나는이 오류가 여기 http://axis.apache.org/axis2/java/core/docs/app_server.html 말했습니다 :

는 지금은 다음을 포함 예외 얻을. 언급 한대로 WAS의 classLoader를 수정했지만 문제를 해결하지 못합니다. 이 사이트에는 axis2.xml이 언급되어 있는데, 전쟁/귀에 어디에 포함 되든 영향을 미치지 않습니다. 아무도 이런 문제가 발생 했습니까? 무엇이 아직 누락 되었습니까?

아마도 내가 configs에서 읽을 수있는 다른 axis2 jar를 포함하고 있지 않습니까? 또한, axiom.jar를 EAR에 포함해야하는지 확신 할 수 없지만 ejb.WAR에는 오히려 ejb.WAR을 포함시켜야합니다.

나는 문제를 찾을 곳이 어디에도 없다. 그래서 나에게 질문이나 지시 사항을 던지기를 주저하지 말라.

만약 지금까지 이걸 읽었다면,

전체 스택 트레이스는 여기 (웹 계층에서 호출 된 wsStub를 호출하는 방법)입니다 :

2/25/14 11:49:36:820 CET] 00000021 webapp  E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[Faces Servlet]: java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
at java.lang.reflect.Method.invoke(Method.java:611) 
at javax.faces.webapp.FacesServlet.handleLifecycleException(FacesServlet.java:245) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:160) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) 
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) 
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
at com.daimler.flsc.fec.web.filter.SerializeRequestFilter.doFilter(SerializeRequestFilter.java:67) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368) 
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
at ch.nevis.jcan.optrace.web.RequestContextFilter.doFilter(RequestContextFilter.java:115) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) 
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3704) 
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) 
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962) 
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) 
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
at 

com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
    at com.ibm.ws.uti 

l.ThreadPool$Worker.run(ThreadPool.java:1659) 
Caused by: javax.faces.FacesException: Error calling action method of component with id main_form:testSearchButton 
    at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:141) 
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) 
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) 
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) 
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) 
    at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32) 
    at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103) 
    at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151) 
    ... 40 more 
Caused by: javax.faces.el.EvaluationException: javax.el.ELException: /view/request/customer.xhtml @492,86 action="#{customerBean.test}": javax.ejb.EJBException: See nested exception; nested exception is: java.lang.Exception: See nested Throwable 
    at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:82) 
    at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:57) 
    ... 49 more 
Caused by: javax.el.ELException: /view/request/customer.xhtml @492,86 action="#{customerBean.test}": javax.ejb.EJBException: See nested exception; nested exception is: java.lang.Exception: See nested Throwable 
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:74) 
    at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:78) 
    ... 50 more 
Caused by: javax.ejb.EJBException: See nested exception; nested exception is: java.lang.Exception: See nested Throwable 
Caused by: java.lang.VerifyError: JVMVRFY013 class loading constraint violated; class=ch/teledata/ws/schema/bisv3_6/Request, method=getOMElement(Ljavax/xml/namespace/QName;Lorg/apache/axiom/om/OMFactory;)Lorg/apache/axiom/om/OMElement;, pc=0 
    at java.lang.J9VMInternals.verifyImpl(Native Method) 
    at java.lang.J9VMInternals.verify(J9VMInternals.java:85) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:162) 
    at com.daimler.flsc.services.impl.BusinessInformationServiceBean.callPersonSearch(BusinessInformationServiceBean.java:194) 
    at com.daimler.flsc.business.services.dispatchers.BusinessInformationServiceDispatcher.callPersonSearch(BusinessInformationServiceDispatcher.java:68) 
    at com.daimler.flsc.business.services.interfaces.EJSRemote0SLBusinessInformationServiceBean_7e0deb6d.callPersonSearch(EJSRemote0SLBusinessInformationServiceBean_7e0deb6d.java) 
    at com.daimler.flsc.business.services.interfaces._BusinessInformationService_Stub.callPersonSearch(_BusinessInformationService_Stub.java) 
    at com.daimler.flsc.business.services.delegates.BusinessInformationServiceBusinessDelegate.callPersonSearch(BusinessInformationServiceBusinessDelegate.java:55) 
    at com.daimler.flsc.fec.web.control.CustomerBean.test(CustomerBean.java:3194) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
    at java.lang.reflect.Method.invoke(Method.java:611) 
    at org.apache.el.parser.AstValue.invoke(AstValue.java:266) 
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) 
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) 
    at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:78) 
    at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:57) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:141) 
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) 
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) 
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) 
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) 
    at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32) 
    at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103) 
    at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) 
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
    at com.daimler.flsc.fec.web.filter.SerializeRequestFilter.doFilter(SerializeRequestFilter.java:67) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
    at ch.nevis.jcan.optrace.web.RequestContextFilter.doFilter(RequestContextFilter.java:115) 
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) 
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3704) 
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962) 
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) 
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659) 

답변

1

스택 추적 클래스 로더는 ADB 생성 된 클래스를로드하려고 할 때 오류가 발생하는 것을 나타냅니다 (아마도 Axis2 웹 서비스 클라이언트에서 사용됩니다). 그렇게하고 싶다면, 관련 Axis2 JAR을 애플리케이션에 포함시켜야한다. 기본적으로 WebSphere 외부에서 코드를 실행하는 데 필요한 모든 라이브러리를 포함해야합니다. 그런 다음 클래스 로더를 PARENT_LAST으로 구성하면 제대로 작동합니다.

반면에 axis2.xml의 변경은 애플리케이션이 Axis2 모듈 (예 : WS- 주소 지정)을 사용하려고하는 경우에만 필요합니다.

+0

대답은 Thx입니다! 실제로이 문제의 원인은 애플리케이션과 websphere의 내부 클래스간에 일종의 격리가 있다고 가정했기 때문입니다. 일단 필요한 모든 axis2/lib jar 파일을 포함 시키면 작동했습니다. 그 전에 websphere는 내부 axis2 클래스를 사용할 수 있기 때문에 실제로 webservice 호출은 응답에 Base64EncodedFileType이없는 한 작동했습니다. 격리를위한 많은 것. – EvilPuma

+0

예, PARENT_LAST는 애플리케이션의 클래스를 우선 설정하지만 실제로 애플리케이션을 WebSphere의 내부 클래스와 분리하지 않습니다. –

관련 문제