从Madison的Mobile Store调用修改后的Web服务

在本节中,您使用 mobile 访问配置文件检索其他信息时所用的 get data 标记与 Web store 中使用的相同。您要更新 mobile store 的 CachedProductDisplay.jsp 以包括扩展的信息。完成定制后,购物者可以在 Product Display 页面看见 "Import information"。出于演示目的,这被视为 Fourth channel。这只是 Web 渠道的扩展,并且使用了相同的编码技术。

更新移动商店的 CachedProductDisplay.jsp 以包括扩展的信息:

打开 Java EE 透视图。

在 Enterprise Explorer 视图中,展开 Stores > WebContent > MadisonsStorefrontAssetStore > mobile > Snippets > Catalog > CatalogEntryDisplay。

打开 CachedProductDisplay.jsp 文件。

在 CachedProductDisplay.jsp 中,找到以下代码行,它们位于文件的末尾:

<div id="product_description" class="description_container"> <h3><fmt:message key="DESCRIPTION" bundle="${storeText}" />:</h3> <p><c:out value="${product.description.longDescription}" escapeXml="false"/></p>

在 </p> 标记后面添加以下代码:

<%-- Tutorial Changes – BEGIN --%><%-- Create a table to display the value for ProductID, Import & Import Country --%> <wcf:getData var="catentries" type="com.ibm.commerce.catalog.facade. datatypes.CatalogEntryType[]" expressionBuilder="getCatalogEntryWithImport"> <wcf:contextData name="storeId" data="${WCParam.storeId}"/> <wcf:contextData name="catalogId" data="${WCParam.catalogId}"/> <wcf:contextData name="langId" data="${WCParam.langId}"/> <wcf:param name="catalogEntryId" value="${catalogEntryID}"/> <wcf:param name="accessProfile" value="MyCompany_Mobile_Description"/> </wcf:getData> <div> <table id="WC_CachedItemDisplay_Table_1"> <tbody align="center"> <tr align="left" cellpadding="2" cellspacing="2" > <td align="left" cellpadding="2" cellspacing="2"> <p align="left"> <b>Import Information</b></p> </td> </tr> <tr cellpadding="2" cellspacing="2"> <td align="left" cellpadding="2" cellspacing="2"> <table border="1"> <tr style="border:1px" cellpadding="2" cellspacing="2"> <td cellpadding="2" cellspacing="2"><b>ProductID </b></td><td cellpadding="2" cellspacing="2"> <b>Imported</b></td><td cellpadding="2" cellspacing="2"><b>Imported From Country</b></td> </tr> <c:forEach var="catalogEntry" items="${catentries}"> <tr align="center" cellpadding="2" cellspacing="2"> <td>${catalogEntry.catalogEntryIdentifier.uniqueID}</td> <%-- Search the value for UserDataField & only output the value for Imported & Imported From--%> <c:forEach var="
userDataField" items="${catalogEntry. userData.userDataField}"> <c:if test="${userDataField.typedKey == 'imported' || userDataField.typedKey == 'imported_country'}"> <td>${userDataField.typedValue}</td> </c:if> </c:forEach> </tr> </c:forEach> </table> </td> </tr> </tbody> </table> </div><%-- Tutorial Changes – END --%>

保存文件。

打开 Mozilla Firefox 浏览器并设置用户代理为 iPhone 3.0。转到 Tools > Default User Agent 并选择 iPhone 3.0。

注:这将 Mozilla Firefox 浏览器设置为将 iPhone® 用户代理信息发送给 WebSphere Commerce 服务器。WebSphere Commerce 服务器根据用户代理信息识别移动请求。

在浏览器中输入下列 URL:http://localhost/webapp/wcs/stores/servlet/StoreView?storeId=10152。

注:根据您的环境修改 storeId。

单击 Furniture 进入 Category Display 页面。

选中 Lounge Chairs。

单击 White Fabric Roll Arm Chaise。

在 "Next Product" 链接上面,您可以看到 Import information,如图 8 所示。
图 8. Madisons Mobile 页面

如您所见,在移动渠道中,我们已演示了在不同的访问配置文件中重用相同的 get-data 标记。

结束语

本教程演示了如何通过定制 Catalog 服务支持扩展目录项信息,并使用来自多个渠道的服务。您学习了如何执行以下定制:

更新 WebSphere Commerce 架构以存储新的信息。
定制 Catalog 服务,将新信息包括为 CatalogEntry 名词中的用户数据。
无论客户端来自哪个渠道,都会重用相同的服务代码。

时间: 2024-08-25 06:12:39

从Madison的Mobile Store调用修改后的Web服务的相关文章

从Madisons store调用修改后的Web服务

在本节中,您会创建一个 JSP 文件,使用 getData 标记显示扩展的目录项信息.您要更新 ProductDisplay.jsp 以链接到该 JSP 文件,获取扩展的目录项信息.完成定制之后,购物者会在 Product Display 页面上看到一个 "Import information" 的链接.当购物者单击该链接时,将会显示扩展的目录项 JSP 页面.为了演示,这被视为从 Web 渠道调用 WebSphere Commerce 的 Second Channel.IBM 提供了

从SOAP UI工具调用修改后的Web服务

您可以通过定义一个新的访问配置文件,对相同服务返回的数据创建一个新的视图.创建四个不同的访问配置文件以供演示.这四个访问配置文件根据从哪个渠道调用服务而返回不同的数据集.本教程使用了 soap UI 工具,以发送请求并分析响应. 出于演示目的,这被视为 Third Channel.在本用例中,客户端可以是一个 Enterprise Service Bus (ESB),它创建一个符合我们的标准的 XML 消息,并直接将该消息发送至我们的服务.请注意,本用例中没有使用 Java 客户端或 JSTL

如何调用wmb发布的WEB 服务?

问题描述 wmbTOOLKIT将消息流发布为WEB服务,在IE调用该WEB服务时,出错信息如下,如何解决?<?xmlversion="1.0"encoding="utf-8"?><soapenv:Envelopexmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faul

使用vbscript脚本调用web服务

vbscript|web|web服务|脚本 最近碰到的一个问题,需要在asp和客户端调用.NET的webservice,也就是说需要用vbscript或javascript来调用webservice.在网上看了看,大多数方案都是利用SOAP Toolkit,但是因为SOAP Toolkit在今年就会被停止后续的支持了,并且要使用soapclient需要专门安装SOAP Toolkit,这对客户端来说不具有通用性,因此想到了使用xmlhttp,利用xmlhttp来和webservice交互. 客户

用AJAX调用SOAP Web服务:构建Web服务客户机

ajax|web|web服务|客户机 [导读]本文介绍如何使用异步 JavaScript 和 XML (Asynchronous JavaScript and XML, AJAX) 设计模式来实现基于 Web 浏览器的 SOAP Web 服务客户机. AJAX 已普遍用于许多知名的 Web 应用程序服务,例如 GMail.Google Maps.Flickr 和 Odeo.com.通过使用异步 XML 消息传递,AJAX 为 Web 开发人员提供了一种扩展其 Web 应用程序价值和功能的途径.这

用AJAX调用SOAP Web服务:构建Web服务客户机(1)

ajax|web|web服务|客户机 本文介绍如何使用异步 JavaScript 和 XML (Asynchronous JavaScript and XML, AJAX) 设计模式来实现基于 Web 浏览器的 SOAP Web 服务客户机. AJAX 已普遍用于许多知名的 Web 应用程序服务,例如 GMail.Google Maps.Flickr 和 Odeo.com.通过使用异步 XML 消息传递,AJAX 为 Web 开发人员提供了一种扩展其 Web 应用程序价值和功能的途径.这里介绍的

异步调用Web服务

web|web服务|异步 //////////////////////////////////////////////////////////////////////////////////Author: stardicky ////E-mail: stardicky@hotmail.com ////QQNumber: 9531511 ////CompanyName: Ezone International ////Class: HBS-0308 ////title: 异步调用Web服务 ///

windows-怎样通过调用修改注册表的API来实现以下内容

问题描述 怎样通过调用修改注册表的API来实现以下内容 怎样通过调用修改注册表的API来实现一个程序启动时启动另一个程序且执行完后执行另一个程序? 没涉及过这个方面,求教,谢谢了~ 解决方案 这个只通过注册表是实现不了,可以利用注册表来实现,在某个程序启动时,读到指定的注册表,然后另一个程序,判断这个程序是否运行完,如果运行完成,再执行另一个程序 判断某个程序是否执行完成 ,可以用这个 if (System.Diagnostics.Process.GetProcessesByName("要获取的

jsp如何实现调用servlet后页面不跳转

问题描述 jsp如何实现调用servlet后页面不跳转 想实现这样的功能:在页面点击按键后,servlet向邮箱发个验证码邮件,页面停留在当前页面,之前填写的信息保持不变.大概是异步通信的问题?不知道怎么实现...求解..(现在邮箱验证什么的都没问题,只是调用servlet后页面会跳转,但我希望能就停在当前页面,等输入验证码之后再按键,跳转到其他页面) 解决方案 可以采用AjaX实现 解决方案二: 相关请搜索jquery ajax 解决方案三: 为什么会跳转呢?你的request中是不是重定向了