0

我正在尝试从 IBM Websphere Commerce 项目中的 WSDL 生成 Web 服务客户端。我对 Websphere Commerce 非常陌生。我遵循 RAD 的默认魔法方法来执行此操作。当我从一个简单的 JAVA 类测试它时,它似乎创建了存根并且工作正常。但是,当我在 WebsphereCommerceServerExtensionsLogic 中生成客户端时,它会引发 CMN0420E 错误。我是否需要在任何其他模块(WC 或 Store)中注册客户端或添加某种 JAR。我错过了什么?请参阅下面的详细日志:

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)
4

2 回答 2

1

这是 Axis JAR 版本控制问题。我知道并在 WebsphereCommerceServerExtensionsLogic 模块下添加了正确的 JAR,但它仍然给出了相同的错误。当我在服务器类路径中添加所需的 JAR 时,错误得到解决。

于 2014-10-20T17:00:05.907 回答
0

对于 websphere 商务,建议您使用 eclipse e-core 框架来生成 web 服务客户端。使用 JAX 更麻烦,但它允许您与 Websphere Commerce 消息传递框架集成。这反过来又允许您通过管理员控制台配置 W​​eb 服务端点等。

如果您尝试这样做,请密切注意设置 ecore EMF Genmodel 版本和其他 ecore 属性。Websphere Commerce 仅支持 ecore EMF 2.2,不支持更高版本。

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

于 2016-02-06T21:36:15.310 回答