2015-07-28 5 views
1

Сценарий,
Мы создали WebService (скажем WS1) с использованием WebExperience фабрики V8.0.0.2 и сервер приложений WebSphere является V8.0.0.10. WS1 имеет операцию, которая вызывает другую веб-службу (например, WS2) для некоторой аутентификации. Все мыльные услуги. При локальном тестировании этого сценария мы смогли вызвать базовый webservice WS2 и смогли получить ответ.
Я развернул его в Webphere Portal, wp_profile, но когда я позвонил в службу WS1, он показывает некоторую ошибку SOAP. Ошибка происходит, когда WS1 вызывает WS2. Мы используем Portal 8.0, а версия сервера приложений - это 8.0.0.10.
Я изменил загрузку класса на родительский последний в прикладном модуле. Но он все еще показывает ошибку.

Стек след дается

мыло Запрос об ошибке в WebSphere Portal

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$2.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 

Может кто-нибудь помочь мне в этом вопросе ..

ответ

1

WARS, которые вы развертываете на двух серверах (работающих и нерабочих), являются разными: dev mode WAR построен путем развертывания от дизайнера (который представляет собой двухрежимную WAR, которая поддерживает автономный режим сервлетов WEF и портлеты) а другой - экспортированный портлет WAR. Если это так, то две WARS будут иметь разные наборы JAR (меньше банок в портлете WAR, который отдает предпочтение порталу для некоторых из этих API).

Просьба перекрестно проверить загрузчик класса модуля в прикладном модуле. saaj-api.jar будет отсутствовать в режиме войны войны. Снимите saaj-api.jar с lib и экспортируйте войну и разворачивайте.

+1

Да, проблема saaj-api.jar вызывала проблему. –

1

Можете ли вы предоставить библиотеки, используя в приложениях? Пожалуйста, проверьте, загружается ли каждый зависимый файл jar дважды после запуска приложения. Вы можете просмотреть загруженные файлы классов на консоли сервера приложений.

Смежные вопросы