UPS Online Tools(一) --- Tracking
最近公司网站增加了UPS Online Tools的相关功能:UPS Shipping(UPS 运输),UPS Tracking(UPS 包裹追踪),UPS Rates & Service Selection(UPS 价格和服务选择),UPS Time in Transit(UPS 运输时间)。我拿出来和大家分享一下。
今天首先向大家介绍UPS Tracking(UPS 包裹追踪)。在讲解代码之前,我先讲解下我们使用UPS Tracking(UPS 包裹追踪)的背景。我司是做网上购物网站的,主要的客户群体是老外,因此商品一般通过快递运输到客户手上。而我们主要选择的是UPS。我们的客户很多时候会去追踪自己的包裹,按照传统的办法是去UPS网站上查询包裹的追踪信息。但是,UPS提供了一个叫UPS Online Tools的服务,它可以使我们网站集成包裹追踪的功能。
例如,我们的网站是www.taobao.com,我们的客户端Web Users会通过一个叫Tracking.aspx的页面输入包裹的追踪号码:
而当客户端输入完毕,点击Track按钮时,调用javascript,将客户输入的追踪号码发送回我们的服务器,我们的服务器接受到了客户端的追踪号码后,会自动生成一个叫TrackRequest的XML,如下:
1 <?xml version="1.0" ?>
2 <AccessRequest xml:lang='en-US'>
3 <AccessLicenseNumber>YOURACCESSLICENSENUMBER</AccessLicenseNumber>
4 <UserId>YOURUSERID</UserId>
5 <Password>YOURPASSWORD</Password>
6 </AccessRequest>
7 <?xml version="1.0" ?>
8 <TrackRequest>
9 <Request>
10 <TransactionReference>
11 <CustomerContext>Track</CustomerContext>
12 </TransactionReference>
13 <RequestAction>Track</RequestAction>
14 </Request>
15 <TrackingNumber>1Z9999999999999999</TrackingNumber>
16 </TrackRequest>
服务器端会把这个XML的信息提交给UPS的Online Tools服务器,Online Tools服务器会根据XML中的<TrackingNumber>1Z9999999999999999</TrackingNumber>返回该包裹的所有追踪信息。该信息是一个叫TrackResponse的XML
1 <?xml version="1.0" ?>
2 <TrackResponse>
3 <Response>
4 <TransactionReference>
5 <CustomerContext>Track</CustomerContext>
6 <XpciVersion>1.0</XpciVersion>
7 </TransactionReference>
8 <ResponseStatusCode>1</ResponseStatusCode>
9 <ResponseStatusDescription>Success</ResponseStatusDescription>
10 </Response>
11 <Shipment>
12 <Shipper>
13 <ShipperNumber>123X67</ShipperNumber>
14 </Shipper>
15 <ShipTo>
16 <Address>
17 <City>Timonium</City>
18 <StateProvinceCode>MD</StateProvinceCode>
19 <CountryCode>US</CountryCode>
20 </Address>
21 </ShipTo>
22 <Service>
23 <Code>03</Code>
24 <Description>Ground</Description>
25 </Service>
26 <Package>
27 <TrackingNumber>1Z9999999999999999</TrackingNumber>
28 <Activity>
29 <ActivityLocation>
30 <Address>
31 <City>Timonium</City>
32 <StateProvinceCode>MD</StateProvinceCode>
33 <CountryCode>US</CountryCode>
34 </Address>
35 <Code>DL</Code>
36 <Description>Delivered</Description>
37 </ActivityLocation>
38 <Status>
39 <StatusType>
40 <Code>XX</Code>
41 <Description>Status XX</Description>
42 </StatusType>
43 <StatusCode>
44 <Code>YY</Code>
45 <Description>Code YY</Description>
46 </StatusCode>
47 </Status>
48 </Activity>
49 </Package>
50 </Shipment>
51 </TrackResponse>
然后我们的服务收到Online Tools服务器的XML后,把这个XML返回给客户端Web Users。客户端通过javascript解析这个XML,把相关信息展现给客户。
其原理如图:
下面,我就来讲解代码吧,新建一个空白解决方案UpsOnlineTool,在添加Web项目GB.Web
再创建两个类库GB.Plugin.UpsComponent和GB.Plugin.UpsComponent.Tracking,如图
接着在GB.Web项目中创建一个Tracking.aspx页面,代码如下
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml" >
6 <head runat="server">
7 <title>UPS Online Tool --- Tracking</title>
8 <link type="text/css" rel="stylesheet" href="/Css/jquery.alerts.css" />
9 <link type="text/css" rel="stylesheet" href="/Css/Tracking.css" />
10 <script language="javascript" type="text/javascript" src="/Js/jquery-latest.js"></script>
11 <script language="javascript" type="text/javascript" src="/Js/jquery.ui.draggable.js"></script>
12 <script language="javascript" type="text/javascript" src="/Js/jquery.alerts.js"></script>
13 <script language="javascript" type="text/javascript" src="/Js/Track.js"></script>
14 </head>
15 <body>
16 <form id="form1" runat="server">
17 <div>
18 <asp:TextBox ID="txtTrackingNumber" runat="server"></asp:TextBox>
19 <asp:Button ID="btnTracking" runat="server" Text="Track" />
20 </div>
21 <div id="Result">
22
23 </div>
24 </form>
25 </body>
26 </html>
27
(注:这个项目中,我添加了Jquery框架)
Track.js代码如下:
待续...............
转载于:https://www.cnblogs.com/harveyqiu/archive/2009/11/27/1612232.html
UPS Online Tools(一) --- Tracking相关推荐
- Linux(CentOS)下,各种协议,端口号
Linux(CentOS)下,各种配置文件如下: DNS:cat /etc/resolv.conf 主机名:cat etc/sysconfig/network 私有主机名:cat /etc/hosts ...
- 荧光透视的计算机辅助外科手术,「电信学」「2008.11」基于荧光透视的电磁跟踪骨科X射线导航实践研究...
「来源: |MATLAB的科学与工程应用 ID:gh_60b944f6c215」 本文为以色列耶路撒冷希伯来大学(作者:Yair Yarom)的硕士论文,共82页. 在计算机辅助技术中,导航系统旨在提 ...
- 亚马逊kindle设置_在亚马逊Kindle上追逐活跃的社会工程欺诈
亚马逊kindle设置 TL;DR: I've just spent several hours chasing a socially engineered (not password comprom ...
- 《Team Geek: A Software Developer's Guide to Working Well with Others》读书笔记(三)
Chapter 3 Every Boat Needs a Captain 每艘船都需要一个船长 没有船长的船只是一个漂浮的房子,随着海浪无目的地到处漂浮. A boat without a capta ...
- My Python Summary
Python的反射机制 简单的说通过dir(classname)可以获取类的方法及属性等,而通过globals()可以得到py文件中类Map,可以通过globals()[key]的方式创建对象,下所示 ...
- Apache Kafka for Item Setup
At Walmart.com in the U.S. and at Walmart's 11 other websites around the world, we provide seamless ...
- HXSN邮件服务器升级技术方案书
第1章 邮件升级策略 本章覆盖了升级计划的制定及升级到Domino 8需要考虑的问题.Domino体系结构有很多种可能的变化,每一种变化需要考虑的因素可能都不一样.本章不涉及与某个具体设计相关的可能的 ...
- 使用谷歌搜索的20条高效技巧 20 Google Search Tips to Use Google More Efficiently
谷歌浏览器使用技巧速览 1. Use the tabs 使用好分类标签 2. Use quotes 用好引号 3. Use a hyphen to exclude words 使用减号(-)去除不想搜 ...
- JVM中的本地内存追踪NMT(Native Memory Tracking)
JVM中的本地内存追踪NMT(Native Memory Tracking) 1 概述 每当想起为什么Java应用程序会消耗比设置-Xms和-Xmx多的内存的时候,心中总是会有个问号.因为一些理由和优 ...
最新文章
- ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )
- python meataclass详解
- c++ 返回 char*
- MyBatis 解决模糊查询包含特殊字符
- laravel api_如何在现有的Laravel应用中获取即时GraphQL API
- vb红绿灯自动切换_VB红绿灯程序.doc
- csuoj 1351: Tree Counting
- Oracle的FIXED
- oracle10g 安装手册 linux,oracle10g在x86linux上的安装步骤
- feedback vertex set problem (FVS) 反馈顶点集问题 是什么
- 十年中国WLAN市场霸主,是谁?
- 原相机怎么设置水印_原相机里面的字体颜色 相机水印字体大小怎么设置
- 《魔法黎明(Dawn of Magic)》反复刷BOSS(三)
- 实践数据湖iceberg 第三十四课 基于数据湖icerberg的流批一体架构-流架构测试
- iOS上应用如何兼容32位系统和64位系统
- 路由器与交换机配置测试题及答案
- 压缩文件报错 tar: Exiting with failure status due to previous errors
- ICPC-TOOLs resolver滚榜单工具使用指南
- 关于360浏览器兼容模式下文档模式默认以ie7标准渲染
- DP线和HDMI线区别,优缺点,传输显示器图像速率
热门文章
- 我的Python成长之路---第三天---Python基础(9)---2016年1月16日(雾霾)
- Linux下C编程-----IO/文件操作 模拟linux ls程序显示文件系统树形结构(2)
- Centos6.3安装KVM
- C#中StreamWriter与BinaryWriter的区别兼谈编码。
- 架构分享--微博架构的回顾
- Windows2003开机后进不了系统
- java引用微信支付的p12证书文件
- 移动设备尚未形成DDoS的3个原因
- JVM快速调优手册v1.0
- SharePoint2010升级到SharePoint2013操作手册