Reputation: 11
I am trying to generate Web Service client from a WSDL in an IBM Websphere Commerce project. I am very new to Websphere Commerce. I follow default wizardry approach of RAD for doing this. It seems it creates the stubs and works fine when I tested it from a simple JAVA class. However, when I generated a client in WebsphereCommerceServerExtensionsLogic, it throws CMN0420E error. Do I need to register client or add some kind of JARs in any other module(WC or Store). What am I missing? Please see the detailed logs below:
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)
Upvotes: 0
Views: 3830
Reputation: 11
For websphere commerce it is recommended you use the eclipse e-core framework to generate webservice clients. It is more cumbersome that using JAX but it allows you to integrate with the Websphere Commerce messaging framework. This in turn allows you to configure the webservice endpoints etc via the Administrator Console.
If you attempt this, pay close attention to setting the ecore EMF Genmodel version and other ecore attributes. Websphere Commerce only supports ecore EMF 2.2 and wont support later versions.
More information and a tutorial can be found in infocenter at the following link: https://www-01.ibm.com/support/knowledgecenter/SSZLC2_7.0.0/com.ibm.commerce.webservices.doc/tutorial/twvoutbound.htm
Upvotes: 0
Reputation: 11
It was Axis JAR versioning issue. I knew it and I added the correct JAR under WebsphereCommerceServerExtensionsLogic module but still it was giving the same error. The error resolved when I added the required JAR in the server classpath.
Upvotes: 1