2014-10-20 116 views
0

我正嘗試從IBM Websphere Commerce項目中的WSDL生成Web Service客戶端。我對Websphere Commerce非常陌生。我遵循RAD的默認巫術方法來做到這一點。它似乎創建了存根,並在我從簡單的JAVA類中測試它時正常工作。但是,當我在WebsphereCommerceServerExtensionsLogic中生成客戶端時,會引發CMN0420E錯誤。我是否需要註冊客戶端或在任何其他模塊(WC或Store)中添加某種JAR。我錯過了什麼?請參閱下面的詳細日誌:CMN0420E Websphere Commerce錯誤

0000003b CommerceSrvr E com.ibm.commerce.command.ECCommandTarget executeCommand CMN0420E: The following command exception has occurred during processing: "java.lang.NoSuchMethodError: org/apache/axis/description/ParameterDesc.setOmittable(Z)V". java.lang.NoSuchMethodError: org/apache/axis/description/ParameterDesc.setOmittable(Z)V 
at org.tempuri.BasicHttpBinding_IAuthorizationServiceStub._initOperationDesc1(BasicHttpBinding_IAuthorizationServiceStub.java:30) 
at org.tempuri.BasicHttpBinding_IAuthorizationServiceStub.<clinit>(BasicHttpBinding_IAuthorizationServiceStub.java:20) 
at java.lang.J9VMInternals.initializeImpl(Native Method) 
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) 
at org.tempuri.AuthorizationServiceLocator.getBasicHttpBinding_IAuthorizationService(AuthorizationServiceLocator.java:55) 
at org.tempuri.AuthorizationServiceLocator.getBasicHttpBinding_IAuthorizationService(AuthorizationServiceLocator.java:50) 
at com.epicor.www.Retail.Store.IAuthorizationServiceProxy._initIAuthorizationServiceProxy(IAuthorizationServiceProxy.java:18) 
at com.epicor.www.Retail.Store.IAuthorizationServiceProxy.<init>(IAuthorizationServiceProxy.java:8) 
at com.trifecta.perfumania.dao.GiftCardDAO.checkBalance(GiftCardDAO.java:99) 
at com.trifecta.perfumania.commands.controller.AddGiftCardCmdImpl.validateGiftCard(AddGiftCardCmdImpl.java:115) 
at com.trifecta.perfumania.commands.controller.AddGiftCardCmdImpl.validateParameters(AddGiftCardCmdImpl.java:47) 
at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:135) 
at com.ibm.websphere.command.TargetableCommandImpl.execute(TargetableCommandImpl.java:139) 
at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:138) 
at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:217) 
at com.ibm.commerce.component.BaseComponentImpl.executeCommand(BaseComponentImpl.java:202) 
at com.ibm.commerce.component.WebAdapterComponentImpl.executeCommand(WebAdapterComponentImpl.java:46) 
at com.ibm.commerce.component.objimpl.WebAdapterServiceBeanBase.executeCommand(WebAdapterServiceBeanBase.java:58) 
at com.ibm.commerce.component.objects.EJSLocalStatelessWebAdapterService_ce749a4a.executeCommand(EJSLocalStatelessWebAdapterService_ce749a4a.java:31) 
at com.ibm.commerce.component.objects.WebAdapterServiceAccessBean.executeCommand(WebAdapterServiceAccessBean.java:160) 
at com.ibm.commerce.webcontroller.WebControllerHelper.executeCommand(WebControllerHelper.java:2741) 
at com.ibm.commerce.struts.BaseAction.invokeService(BaseAction.java:1516) 
at com.ibm.commerce.struts.BaseAction.executeAction(BaseAction.java:635) 
at com.ibm.commerce.struts.BaseAction.execute(BaseAction.java:150) 
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) 
at com.trifecta.wc.struts.ECRequestProcessor.processCMSPerform(ECRequestProcessor.java:111) 
at com.trifecta.wc.struts.ECRequestProcessor.processActionPerform(ECRequestProcessor.java:77) 
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) 
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) 
at com.ibm.commerce.struts.ECActionServlet.processRequest(ECActionServlet.java:225) 
at com.ibm.commerce.struts.ECActionServlet.doGet(ECActionServlet.java:166) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:718) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1663) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131) 
at com.ibm.commerce.campaigns.filter.CampaignsFilter.doFilter(CampaignsFilter.java:148) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116) 
at com.ibm.commerce.likeminds.filter.LikeMindsFilter.doFilter(LikeMindsFilter.java:183) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116) 
at com.ibm.commerce.dynacache.filter.CacheFilter$1.run(CacheFilter.java:377) 
at com.ibm.commerce.dynacache.filter.CacheFilter.doFilter(CacheFilter.java:508) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116) 
at com.ibm.commerce.webcontroller.RuntimeServletFilter.doFilterAction(RuntimeServletFilter.java:724) 
at com.ibm.commerce.webcontroller.RuntimeServletFilter.access$0(RuntimeServletFilter.java:534) 
at com.ibm.commerce.webcontroller.RuntimeServletFilter$1.run(RuntimeServletFilter.java:475) 
at com.ibm.commerce.webcontroller.RuntimeServletFilter.doFilter(RuntimeServletFilter.java:500) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502) 
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181) 
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:372) 
at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213) 
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171) 
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) 
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502) 
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181) 
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935) 
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) 
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931) 
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592) 
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) 
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:1613) 

回答

1

這是Axis JAR版本問題。我知道它,並且我在WebsphereCommerceServerExtensionsLogic模塊下添加了正確的JAR,但它仍然給出了相同的錯誤。當我在服務器類路徑中添加所需的JAR時解決了錯誤。

0

對於websphere commerce,建議您使用eclipse e-core框架來生成webservice客戶端。使用JAX更麻煩,但它允許您與Websphere Commerce消息框架集成。這反過來又允許你通過管理員控制檯配置webservice端點等。

如果您嘗試此操作,請密切關注setting the ecore EMF Genmodel version和其他ecore屬性。 Websphere Commerce僅支持ecore EMF 2.2,並且不會支持更高版本。

更多信息和教程可以在infocenter的以下鏈接找到: https://www-01.ibm.com/support/knowledgecenter/SSZLC2_7.0.0/com.ibm.commerce.webservices.doc/tutorial/twvoutbound.htm