Websphere 门户中的 Soap 请求错误

Soap Request Error in Websphere Portal

场景是,
我们使用 WebExperience factory V8.0.0.2 创建了一个 Webservice(比如 WS1),websphere 应用程序服务器是 V8.0.0 .10WS1 有一个操作调用另一个网络服务(比如 WS2)进行一些身份验证。都是肥皂服务。在本地测试此场景时,我们能够调用底层网络服务 WS2 并能够获得响应。
我在 Webphere Portal、wp_profile 中部署了它,但是当我调用服务 WS1 时,它显示了一些 SOAP 错误。当 WS1 调用 WS2 时会发生错误。我们正在使用 Portal 8.0 并且 Application Server 版本是 8.0.0.10.
我在应用程序模块 中将class 加载到最后的父项更改为。但是还是报错

给出堆栈跟踪

    Category: bowstreet.system.server.logging.event.criterion.abnormal
    Priority: ERROR
    Msg:      Component:    SERVICE
    Caught an exception processing a message style web service call.
        The associated exception is: 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 org.apache.axis.providers.java.MsgProvider.processMessage(MsgProvider.java:141)
        at com.bowstreet.axis.providers.WebAppMSGProvider.processMessage(WebAppMSGProvider.java:46)
        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
        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:125)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
        at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926)
        at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023)
        at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3703)
        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.run(ResultHandler.java:905)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)
Caused by: java.rmi.RemoteException: Error in method BatchInvoke_al. Error in method getDetail_ws.invoke.  Error in method getDetail_ws.invokeInternal. javax/xml/soap/MessageFactory.newInstance(Ljava/lang/String;)Ljavax/xml/soap/MessageFactory;
        at com.bowstreet.axis.WebAppRPCInterface.aMethod(WebAppRPCInterface.java:68)
        ... 41 more

谁能帮我解决这个问题..

能否提供应用程序中使用的库? 请检查启动应用程序后是否有任何依赖的jar文件被加载两次。 您可以在应用服务器控制台查看加载的class个文件。

您要部署到两台服务器(工作和非工作)的 WAR 不同,一个是开发模式 WAR 通过从设计器部署构建(这是一种双模式 WAR 支持 WEF 独立 servlet 模式加 portlet) 和另一个导出的 portlet WAR。如果是这样,那么两个 WAR 将具有不同的 JAR 集(portlet WAR 中的 jar 较少,其中一些 API 服从门户)。

请交叉检查应用程序模块中的模块 class 加载器。 saaj-api.jar 将在开发模式 war 构建中丢失。 从 lib 中删除 saaj-api.jar 并导出 war 并部署。