<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>专注于blackberry &#187; mds</title>
	<atom:link href="http://www.inblackberry.com/web/tag/mds/feed" rel="self" type="application/rss+xml" />
	<link>http://www.inblackberry.com/web</link>
	<description>blackberry</description>
	<pubDate>Thu, 26 Aug 2010 14:19:35 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>每周一技： ServiceBook初探</title>
		<link>http://www.inblackberry.com/web/development/week-tech/weektech-access-servicebook.html</link>
		<comments>http://www.inblackberry.com/web/development/week-tech/weektech-access-servicebook.html#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:09:04 +0000</pubDate>
		<dc:creator>Taigoo</dc:creator>
		
		<category><![CDATA[每周一技]]></category>

		<category><![CDATA[BES]]></category>

		<category><![CDATA[bis]]></category>

		<category><![CDATA[configure]]></category>

		<category><![CDATA[mds]]></category>

		<category><![CDATA[开发]]></category>

		<guid isPermaLink="false">http://www.inblackberry.com/web/?p=246</guid>
		<description><![CDATA[<p>关于Service Book，已经不止一次在本站讨论了。在这里还是简单概括一下:服务的配置。例如，上网，需要有GPRS和WAP的配置，对WIFI，有WIFI的配置。</p>
<p>本文是Service Book的初探，有必要的话或需求的话，我会更深一步讲解。</p>
<p>首先介绍如何访问机器上的Service Book，要实现这个功能，我们可以参考一下API，API已经提供了相关的接口了。代码如下：</p>
 ServiceBook sb = ServiceBook.getSB();
 ServiceRecord[] srs]]></description>
			<content:encoded><![CDATA[<p>关于Service Book，已经不止一次在本站讨论了。在这里还是简单概括一下:服务的配置。例如，上网，需要有GPRS和WAP的配置，对WIFI，有WIFI的配置。</p>
<p>本文是Service Book的初探，有必要的话或需求的话，我会更深一步讲解。</p>
<p>首先介绍如何访问机器上的Service Book，要实现这个功能，我们可以参考一下API，API已经提供了相关的接口了。代码如下：</p>
<pre> ServiceBook sb = ServiceBook.getSB();
 ServiceRecord[] srs = sb.getRecords();</pre>
<p>通过ServiceRecord，我们可以得到什么内容呢？</p>
<ul>
<li>CID，比如邮件的CID为CMIME，可以通过srs[i].getCid得到相关内容</li>
<li>APN,既然访问网络，APN也必须得到，这对于一些网络编程非常有帮助</li>
<li>网络地址，和网络类型</li>
<li>其他</li>
</ul>
<p>我建议看看ServiceRecord 该类的文档，说不定有意想不到的收获。</p>
<p>现在给出一个完整的例子：</p>
<pre> public void listServiceBook()
     {
         ServiceBook sb = ServiceBook.getSB();
         ServiceRecord[] srs = sb.getRecords();

         for(int index = srs.length - 1; index &gt;= 0; --index) {
             //identify the service record associated with a mail message service via a CID of 'CMIME'
             if( srs[index].getCid().equalsIgnoreCase( "CMIME" )) {
                //add your code here
               }
         }
      }</pre>
<p>下面讲讲应用。</p>
<p>已经有很多人提出如何列出Blackberry机器上绑定的邮箱.其实这个问题非常简单。可以将上面的代码改为：</p>
<pre> public void listBoundEmails()
     {
         ServiceBook sb = ServiceBook.getSB();
         ServiceRecord[] srs = sb.getRecords();

         for(int index = srs.length - 1; index &gt;= 0; --index) {
             //identify the service record associated with a mail message service via a CID of 'CMIME'
             if( srs[index].getCid().equalsIgnoreCase( "CMIME" )) {
                 ServiceConfiguration sc = new ServiceConfiguration(srs[index]);
                 logger.log("The SB name configuring is:"+sc.getName()+"/"+sc.getEmailAddress());
               }
         }
      }</pre>
<p>代码不解释了，太简单了。知道了email地址，你就可以指定一个缺省的邮件作为发送地址。这是另外一个话题，不再这里赘述。</p>
<p>综合上述，所以很多问题不是不懂，而是没有仔细去看文档。</p>
<p>还有其他应用吗？当然有，例如：</p>
<ol>
<li>如何和Blackberry邮件系统集成</li>
<li>如何和BES关联</li>
<li>如何让浏览器上网</li>
<li>如何设置网络的APN</li>
<li>如何通过WIFI访问网络</li>
<li>如何提供LBS服务</li>
<li>如何设置MMS服务</li>
<li>如何设置PUSH</li>
</ol>
<p>以上这些应用需要Service Book，但是目前RIM从来没有公开过其格式。即使有备份的ipd文件，但是ipd文件格式往往都是网友crack的，做出来的软件也不太令人满意，希望RIM能早日发布这些格式吧，这样对Blackberry的推动是非常有好处的。</p>
<p>以上仅仅是我任意列出的应用，如果您对以上哪个感兴趣，可以留言，如果有很多网友想知道某个具体问题，我会另写一些文章解释之。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inblackberry.com/web/development/week-tech/weektech-access-servicebook.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>故技重施：Blackberry Push API</title>
		<link>http://www.inblackberry.com/web/development/blackberry-push-api-just-old-tech.html</link>
		<comments>http://www.inblackberry.com/web/development/blackberry-push-api-just-old-tech.html#comments</comments>
		<pubDate>Mon, 29 Jun 2009 11:46:20 +0000</pubDate>
		<dc:creator>Taigoo</dc:creator>
		
		<category><![CDATA[开发]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[BES]]></category>

		<category><![CDATA[blackberry]]></category>

		<category><![CDATA[mds]]></category>

		<category><![CDATA[push]]></category>

		<guid isPermaLink="false">http://www.inblackberry.com/web/?p=137</guid>
		<description><![CDATA[<p>大概是6月初，RIM以很强的声势推出一个新服务，名曰Blackberry Push API。在没有看文档前，我非常憧憬RIM能给我们带来惊喜。但是我看完之后，发现RIM仅仅把原来的技术重新包装了一遍。</p>
<p>从商业的角度讲，我非常赞成RIM的这种做法，现在的很多新概念有很多都是把N年以前的东西拿出来翻新一下，例如AJax，SaaS等，都取得了不错的效果。</p>
<p>但是从技术角度上讲，也确实没什么。</p>
<p>我将该服务总结为一句话，即将Blackberry最具特色的PUSH功能应用到客户的需求上。</p>
<p>即便如此，我还是将我N年以前使用过的技术重温一下，顺便也说说PUSH API 的应用。</p>
<p>应用背景：</p>
<p>先举个例子，未必是真实的。假如上海有家出租车公司小众（不是大众），要通知司机小张，有个客户在人民广场的来福士广场有个客户于14：00需要车，那么小众通过何种方式将这个信息传给小张呢?假如小众公司正在使用Blackberry的服务，那么可以通过Alert的方式来实现。</p>
<p>现在总结一下：</p>
<ul>
<li>alert</li>
<li>新闻</li>
<li>财经</li>
<li>定单</li>
<li>文档</li>
<li>体育</li>
</ul>
<p>服务不仅仅限于上面。</p>
<p>原理：</p>
<p>先看张图<br />
<a title="push-request-flow by confach, on]]></description>
			<content:encoded><![CDATA[<p>大概是6月初，RIM以很强的声势推出一个新服务，名曰Blackberry Push API。在没有看文档前，我非常憧憬RIM能给我们带来惊喜。但是我看完之后，发现RIM仅仅把原来的技术重新包装了一遍。</p>
<p>从商业的角度讲，我非常赞成RIM的这种做法，现在的很多新概念有很多都是把N年以前的东西拿出来翻新一下，例如AJax，SaaS等，都取得了不错的效果。</p>
<p>但是从技术角度上讲，也确实没什么。</p>
<p>我将该服务总结为一句话，即将Blackberry最具特色的PUSH功能应用到客户的需求上。</p>
<p>即便如此，我还是将我N年以前使用过的技术重温一下，顺便也说说PUSH API 的应用。</p>
<p><strong>应用背景：</strong></p>
<p>先举个例子，未必是真实的。假如上海有家出租车公司小众（不是大众），要通知司机小张，有个客户在人民广场的来福士广场有个客户于14：00需要车，那么小众通过何种方式将这个信息传给小张呢?假如小众公司正在使用Blackberry的服务，那么可以通过Alert的方式来实现。</p>
<p>现在总结一下：</p>
<ul>
<li>alert</li>
<li>新闻</li>
<li>财经</li>
<li>定单</li>
<li>文档</li>
<li>体育</li>
</ul>
<p>服务不仅仅限于上面。</p>
<p><strong>原理：</strong></p>
<p>先看张图<br />
<a title="push-request-flow by confach, on Flickr" href="http://www.flickr.com/photos/taigoo/3670682769/"><img src="http://farm3.static.flickr.com/2457/3670682769_7c00b1efed.jpg" border="0/" alt="push-request-flow" width="500" height="270" /></a><br />
简要解释一下：</p>
<p>先解释身份角色：</p>
<p>Push Initiator：相当于小众公司，后面见车简称PI</p>
<p>Blackberry Push Data Server：相当于部署在小众公司的Blackberry服务基础架构，后面简称BPIS</p>
<p>Mobile Client：司机小张的Blackberry终端，简称，MC</p>
<p>再解释一下流程：</p>
<ol>
<li>PI发送一个push请求，即客户信息</li>
<li>BPIS给出一个返回给PI</li>
<li>BPIS就请求push给MC</li>
<li>MC收到后给出一个ACKnowledge，确认</li>
<li>BPIS给PI一个通知</li>
<li>PI收到后给BPIS一个返回</li>
</ol>
<p>类似的机制和互联网的三次握手类似，就是Request/ACK/Response.目的就是为了保证大家都收到。</p>
<p><strong>优点</strong></p>
<p>很显然，省电，能够及时送达，安全，包括传送，以及安全送达。</p>
<p><strong>实现</strong></p>
<ol>
<li>PAP</li>
<li>XML HTTP 请求</li>
<li>几种push，例如submit，cancel，query等，具体技术细节不讲，因为这些又可以单独拿出来了。</li>
</ol>
<p>综合上述，如果您熟悉PUSH，是不是觉得似曾相识呢。</p>
<p>不管怎么说，从中，我们可以进一步，也更清晰了解Blackberry PUSH这个概念。这在以后的解决方案中提供不少思路。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inblackberry.com/web/development/blackberry-push-api-just-old-tech.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>BlackBerry 应用程序开发者指南 第一卷：基础&#8211;附录:MDS服务参考</title>
		<link>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-append-mds.html</link>
		<comments>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-append-mds.html#comments</comments>
		<pubDate>Wed, 23 Apr 2008 12:41:36 +0000</pubDate>
		<dc:creator>Taigoo</dc:creator>
		
		<category><![CDATA[文档]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[doc]]></category>

		<category><![CDATA[mds]]></category>

		<guid isPermaLink="false">http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-append-mds.html</guid>
		<description><![CDATA[<p align="right" class="MsoNormal" style="text-align: right;">B</p>
<a name="_Toc125107116">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 附录:MDS</a>服务参考




<p class="MsoNormal">HTTP请求</p>
<p class="MsoNormal">HTTP响应</p>
<p class="MsoNormal">HTTPS支持</p>
<p]]></description>
			<content:encoded><![CDATA[<p align="right" class="MsoNormal" style="text-align: right;"><strong><span lang="EN-US" style="font-size: 36pt;">B<o:p></o:p></span></strong></p>
<h1><a name="_Toc125107116"><span style="color: rgb(51, 51, 153); font-family: 宋体;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 附录</span><span lang="EN-US" style="color: rgb(51, 51, 153);">:MDS</span></a><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">服务参考</span></span></h1>
<table cellspacing="0" cellpadding="0" border="0" class="MsoNormalTable" style="background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求</span></p>
<p class="MsoNormal"><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">响应</span></p>
<p class="MsoNormal"><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">支持</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">编码转化器</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">创建编码转化器</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">编译和安装编码转化器</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<h2><a name="_Toc125107117"><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></a><span><span style="color: rgb(51, 51, 153); font-family: 黑体;">请求</span></span><span class="MsoFootnoteReference"><span lang="EN-US" style="color: rgb(51, 51, 153);"><span><span class="MsoFootnoteReference"><strong><span lang="EN-US" style="font-size: 16pt; color: rgb(51, 51, 153); font-family: arial;">[1]</span></strong></span></span></span></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体;">一个客户端建立一个连接</span><span lang="EN-US">,</span><span style="font-family: 宋体;">并且发送一个</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求消息到服务器</span><span lang="EN-US">.</span><span style="font-family: 宋体;">服务器然后发送一个响应消息</span><span lang="EN-US">,</span><span style="font-family: 宋体;">这个消息通常包含了请求的资源</span><span lang="EN-US">.</span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">&lt;method&gt; &lt;resource_path&gt;&lt;version&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt; text-indent: 15.75pt;"><span lang="EN-US" style="font-family: 'andale mono';">Header1: value1<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt; text-indent: 15.75pt;"><span lang="EN-US" style="font-family: 'andale mono';">Header2: value2<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt; text-indent: 15.75pt;"><span lang="EN-US" style="font-family: 'andale mono';">Header3: value3<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">&lt;optional message&gt;<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US"><o:p>     <br /></o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoNormalTable" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" class="MsoNormal" style="text-align: center;"><strong><span lang="EN-US">HTTP</span></strong><strong><span style="font-family: 宋体;">请求变量</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" class="MsoNormal" style="text-align: center;"><strong><span style="font-family: 宋体;">描述</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">method</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">方法名，指定了一个动作</span><span lang="EN-US">,</span><span style="font-family: 宋体;">例如</span><span lang="EN-US">GET,HEAD</span><span style="font-family: 宋体;">或</span><span lang="EN-US">POST.</span><span style="font-family: 宋体;">常用的方法是</span><span lang="EN-US">GET,</span><span style="font-family: 宋体;">它从服务器请求一个资源</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">resource_path</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">指向请求资源的路径</span><span lang="EN-US">,</span><span style="font-family: 宋体;">它是</span><span lang="EN-US">URL</span><span style="font-family: 宋体;">中的一部分</span><span lang="EN-US">,</span><span style="font-family: 宋体;">在主机名后面出现</span><span lang="EN-US">.</span><span style="font-family: 宋体;">它也称为<em>请求</em></span><em><span lang="EN-US">URL(Request URL).</span></em></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">version</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">你正在运行的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">版本</span><span lang="EN-US">,</span><span style="font-family: 宋体;">标记为</span><span lang="EN-US">&rdquo;<em>HTTP /x.x</em>&rdquo;.BES</span><span style="font-family: 宋体;">支持</span><span lang="EN-US">1.0</span><span style="font-family: 宋体;">和</span><span lang="EN-US">1.1</span><span style="font-family: 宋体;">版本</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">Header</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">提供了关于请求的或在消息体里发送的对象的信息</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">optional message</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">消息可以包含数据</span><span lang="EN-US">.</span><span style="font-family: 宋体;">在一个请求里</span><span lang="EN-US">,</span><span style="font-family: 宋体;">它是发送到服务器的用户类型的数据</span><span lang="EN-US">,</span><span style="font-family: 宋体;">或上传的文件</span><span lang="EN-US">.</span><span style="font-family: 宋体;">当一个对象伴随着此消息时</span><span lang="EN-US">,</span><span style="font-family: 宋体;">请求通常也包含定义它属性的消息头</span><span lang="EN-US">.</span></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="_Toc125107118"><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></a><span><span style="color: rgb(51, 51, 153); font-family: 黑体;">响应</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体;">在</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求消息的接收之上</span><span lang="EN-US">,</span><span style="font-family: 宋体;">服务器发送一个响应消息</span><span lang="EN-US">,</span><span style="font-family: 宋体;">它通常包含了请求的资源</span><span lang="EN-US">.</span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">&lt;HTTP version&gt;&lt;status_code&gt;&lt;reason&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">Header1: value1<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">Header2: value2<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">Header3: value3<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">&lt;message</span><span lang="EN-US">&gt;</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoNormalTable" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><strong><span lang="EN-US">HTTP</span></strong><strong><span style="font-family: 宋体;">响应变量</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><strong><span style="font-family: 宋体;">描述</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">HTTP_version</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">正在运行的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">版本</span><span lang="EN-US">,</span><span style="font-family: 宋体;">标记为</span><span lang="EN-US">&rdquo;HTTP /x.x&rdquo;.BES</span><span style="font-family: 宋体;">支持</span><span lang="EN-US">1.0</span><span style="font-family: 宋体;">和</span><span lang="EN-US">1.1</span><span style="font-family: 宋体;">版本</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">status_code</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">状态码的数值，它反映了客户端提出的请求的结果。例如，</span><span lang="EN-US">200</span><span style="font-family: 宋体;">（</span><span lang="EN-US">OK</span><span style="font-family: 宋体;">）说明了传输成功，</span><span lang="EN-US">404</span><span style="font-family: 宋体;">（</span><span lang="EN-US">Not Found</span><span style="font-family: 宋体;">）说明了请求的</span><span lang="EN-US">URL</span><span style="font-family: 宋体;">没有找到。</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">reason</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">reason</span><span style="font-family: 'Andale Mono';">是和状态码相关的文本消息。</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">Header</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">消息头提供了响应的信息，也提供了消息体中正在发送的对象的信息。</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">message</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">消息必须包含数据。在一个响应消息里，它提供了客户端请求的的内容。此响应也包含了定义它的属性的消息头。</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span><v:group id="_x0000_s1038" style="width: 26.25pt; height: 25.5pt;" coordsize="525,510"><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_s1039" o:preferrelative="f" type="#_x0000_t75"><o:lock v:ext="edit" aspectratio="f"></o:lock></v:shape><v:shape id="_x0000_s1040" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\CONFAC~1.ZHA\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""></v:imagedata><o:lock v:ext="edit" aspectratio="f"></o:lock></v:shape><w:wrap type="none"></w:wrap><w:anchorlock></w:anchorlock></v:group><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_s1038 _x0000_s1039 _x0000_s1040" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：应用程序应该检查<span lang="EN-US">HTTP</span>响应消息的状态码。任何不是<span lang="EN-US">200</span>（<span lang="EN-US">OK</span>）的状态码都说明当建立<span lang="EN-US">HTTP</span>连接时发生了一个错误。<span lang="EN-US"><o:p></o:p></span></span></p>
<h3><a name="_Toc125107119"><span lang="EN-US" style="color: rgb(51, 51, 153);">Push</span></a><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">请求响应状态码</span></span><span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">为</span><span lang="EN-US">push</span><span style="font-family: 宋体;">请求连接服务，</span><span lang="EN-US">BlackBerry MDS</span><span style="font-family: 宋体;">返回</span><span lang="EN-US">2</span><span style="font-family: 宋体;">种响应码：</span></p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">PAP</span><span style="font-family: 宋体;">（</span><span lang="EN-US">Push Access Protocal</span><span style="font-family: 宋体;">）响应码。</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">RIM Push</span><span style="font-family: 宋体;">响应码。</span></p>
</blockquote>
<p class="MsoNormal"><span><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_s1038 _x0000_s1039 _x0000_s1040" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：访问<span lang="EN-US">www.wapforum.org</span>获得更多关于<span lang="EN-US">PAP</span>响应码的信息。</span></p>
<h3><a name="_Toc125107120"><span lang="EN-US" style="color: rgb(51, 51, 153);">RIM Push</span></a><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">请求响应码</span></span><span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<table cellspacing="0" cellpadding="0" border="1" class="MsoNormalTable" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="157" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 117.85pt;">
<p class="MsoNormal"><strong><span lang="EN-US">RIM Push</span></strong><strong><span style="font-family: 宋体;">请求响应码</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 154.15pt;">
<p class="MsoNormal"><strong><span style="font-family: 宋体;">描述</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 154.15pt;">
<p class="MsoNormal"><strong><span style="font-family: 宋体;">解释</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
</tr>
<tr>
<td width="157" valign="top" style="padding: 0cm 5.4pt; width: 117.85pt;">
<p class="MsoNormal"><span lang="EN-US">200</span></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; width: 154.15pt;">
<p class="MsoNormal"><span lang="EN-US">OK</span></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; width: 154.15pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">请求成功完成。</span></p>
</td>
</tr>
<tr>
<td width="157" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 117.85pt;">
<p class="MsoNormal"><span lang="EN-US">400</span></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 154.15pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">任何其他的错误。</span></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 154.15pt;">
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
</td>
</tr>
<tr>
<td width="157" valign="top" style="padding: 0cm 5.4pt; width: 117.85pt;">
<p class="MsoNormal"><span lang="EN-US">403</span></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; width: 154.15pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">访问控制错误，或者未知的邮件地址或特定的</span><span lang="EN-US">BlackBerry PIN</span><span style="font-family: 宋体;">。</span></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; width: 154.15pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">服务器接收了请求，但是不能响应。</span></p>
</td>
</tr>
<tr>
<td width="157" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 117.85pt;">
<p class="MsoNormal"><span lang="EN-US">503</span></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 154.15pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">服务器忙，服务不可用。</span></p>
</td>
<td width="206" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 154.15pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">当前，服务器不能管理请求，因为暂时的负载或服务器正在维护。</span></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="_Toc125107121"><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTPS</span></a><span><span style="color: rgb(51, 51, 153); font-family: 黑体;">支持</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体;">如果你的应用程序通过</span><span lang="EN-US">Internet</span><span style="font-family: 宋体;">访问服务器，为了提过其他的验证和安全，在</span><span lang="EN-US">TLS</span><span style="font-family: 宋体;">上建立一个安全的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">（</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">）连接。</span></p>
<h3><a name="_Toc125107122"><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTPS</span></a><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">认证（</span></span><span><span lang="EN-US" style="color: rgb(51, 51, 153);">Certificate</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">）管理</span></span><span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">当</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备以代理模式请求一个</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">连接时，</span><span lang="EN-US">BlackBerry MDS</span><span style="font-family: 宋体;">服务为</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备建立一个</span><span lang="EN-US">SSL</span><span style="font-family: 宋体;">连接。系统管理员配置</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务，要么允许连接到未信任的服务器，要么是限制访问信任的服务器，这个配置仅适用代理模式下的连接。在</span><span lang="EN-US">end-to-end</span><span style="font-family: 宋体;">模式里，</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备建立一个</span><span lang="EN-US">SSL</span><span style="font-family: 宋体;">连接。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">管理器里，系统管理员编辑</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务属性，并且设置</span><span lang="EN-US">TLS</span><span style="font-family: 宋体;">和</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">选项，为获得更多信息，参看</span><em><span lang="EN-US">BES</span></em><em><span style="font-family: 宋体;">管理指南</span></em><span style="font-family: 宋体;">。</span></p>
<p class="MsoNormal"><span><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_s1038 _x0000_s1039 _x0000_s1040" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：在<span lang="EN-US">MDS</span>服务模拟器里，通过设置<span lang="EN-US">rimpublic.property</span>文件来允许或拒绝访问未信任的服务器。设置<span lang="EN-US">application.handler.https.allowUntrustedServer</span>参数为<span lang="EN-US">true</span>或<span lang="EN-US">false</span>。参看<span lang="EN-US">177</span>页的&ldquo;配置<span lang="EN-US">BlackBerry MDS</span>模拟器<span lang="EN-US">&rdquo;</span>获得更多信息。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">如果</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务包含认证，</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务将信任一个服务器。</span></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">使用</span><span lang="EN-US" style="color: rgb(51, 51, 153);">keytool</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">安装一个认证</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp; 1．<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp; </span></span></span><span style="font-family: 宋体;">保存认证。</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp; 2．</span></span><span style="font-family: 宋体;">将认证文件拷贝到</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务所在计算机上的</span><strong><span lang="EN-US">C:\Java\j2re1.4.2\lib\securit</span></strong><span lang="EN-US">y</span><span style="font-family: 宋体;">文件夹。</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp; 3．<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp; </span></span></span><span style="font-family: 宋体;">为了将认证导入到键存储里，请使用</span><span lang="EN-US">keytool</span><span style="font-family: 宋体;">，它可以在</span><span lang="EN-US">JRE bin</span><span style="font-family: 宋体;">文件夹下找到，例如</span><span lang="EN-US">C:\Java\j2re1.4.2\bin.</span><span style="font-family: 宋体;">例如，输入：</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp; </span><strong>keytool -import -file &lt;cert_filename&gt; -keystore cacerts<o:p></o:p></strong></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">访问</span><span lang="EN-US"><a href="http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html">http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html</a> </span><span style="font-family: 宋体;">获得更多关于</span><span lang="EN-US">keytool</span><span style="font-family: 宋体;">的信息。</span></p>
<h2><a name="_Toc125107123"><span style="color: rgb(51, 51, 153); font-family: 黑体;">编码转化器</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span lang="EN-US">BlackBerry MDS</span><span style="font-family: 宋体;">支持插件的</span><span lang="EN-US">Java</span><span style="font-family: 宋体;">应用程序，称为编码转化器，它处理</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备发送和接收的数据。</span></p>
<p class="MsoNormal"><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务提供下列缺省的编码转化：</span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoNormalTable" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" class="MsoNormal" style="text-align: center;"><strong><span style="font-family: 宋体;">编码转化名</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" class="MsoNormal" style="text-align: center;"><strong><span style="font-family: 宋体;">描述</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">WML&gt;WMLC </span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">将</span><span lang="EN-US">.wml(Wireless Markup Lanuage)</span><span style="font-family: 宋体;">转化为一个压缩的格式。</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">WMLScript&gt;WMLScriptC</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">将</span><span lang="EN-US">MIDlet</span><span style="font-family: 宋体;">应用程序为</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">格式。</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">JAD&gt;COD :XML&gt;WBXML </span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">将</span><span lang="EN-US">xml</span><span style="font-family: 宋体;">文件转化为下面的</span><span lang="EN-US">WAP</span><span style="font-family: 宋体;">二进制</span><span lang="EN-US">XML(.wbxml) MIME</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">:application/vnd.wap.wbxml..</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">SVG &gt;PME</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">将可</span><span lang="EN-US">svg(Scalable Vector Graphics)</span><span style="font-family: 宋体;">转化为</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备支持的</span><span lang="EN-US">pme(Plazmic Media Engine)</span><span style="font-family: 宋体;">二进制格式</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">图像编码转化</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">将下列图像的文件类型转化为</span><span lang="EN-US">png</span><span style="font-family: 宋体;">文件</span><span lang="EN-US">:</span></p>
<blockquote dir="ltr" style="margin-right: 0px;"></blockquote>
<ul>
<li><span lang="EN-US" style="font-family: wingdings;"><span><span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"></span></span></span><span lang="EN-US">Jpeg</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span></span></span><span lang="EN-US">Gif</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span></span></span><span lang="EN-US">Tiff</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span></span></span><span lang="EN-US">Pgm</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span></span></span><span lang="EN-US">Ppm</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span></span></span><span lang="EN-US">pnm:</span><span style="font-family: 宋体;">包含</span><span lang="EN-US">ASCII</span><span style="font-family: 宋体;">和二进制</span><span lang="EN-US">pbm,pgm</span><span style="font-family: 宋体;">和</span><span lang="EN-US">ppm</span><span style="font-family: 宋体;">文件</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span><span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;" /></span></span><span lang="EN-US">ico</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span><span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;" /></span></span><span lang="EN-US">wbmp</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span><span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;</span></span></span><span lang="EN-US">pbm</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span></span></span><span lang="EN-US">wbmp</span></li>
<li><span lang="EN-US" style="font-family: wingdings;"><span></span></span><span lang="EN-US">bmp</span></li>
</ul>
<blockquote dir="ltr" style="margin-right: 0px;"></blockquote>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_s1038 _x0000_s1039 _x0000_s1040" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：图像编码转化器将先前的图像格式转化为下面的<span lang="EN-US">.PNG MIME</span>类型<span lang="EN-US">:image/vnd.rim.png.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">你也可以编写自己的编码转化器完成客户化数据的处理<span lang="EN-US">.</span>例如<span lang="EN-US">,</span>如果你的应用程序正在和服务器交换数据<span lang="EN-US">,</span>而服务器不是为<span lang="EN-US">BlackBerry</span>设备设计的<span lang="EN-US">,</span>并且发送到服务器端的数据对<span lang="EN-US">BlackBerry</span>设备来说没有合适的格式<span lang="EN-US">.</span>那么你可能编写一个编码转化器<span lang="EN-US">.</span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">一个编码器可能改变数据格式或删除冗余信息来降低网络流量</span><span lang="EN-US">,</span><span style="font-family: 宋体;">并且支持</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备上的简单应用程序</span><span lang="EN-US">.</span><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">你可以编写一个编码转化器将</span><span lang="EN-US">HTML</span><span style="font-family: 宋体;">内容转化为</span><span lang="EN-US">WML.</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img height="216" width="733" alt="" src="http://www.cnblogs.com/images/cnblogs_com/confach/data-encoding-transfer.JPG" /></span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">数据转化处理</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">如果你专门编写一个服务器端的应用程序支持一个</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备上客户应用程序</span><span lang="EN-US">,</span><span style="font-family: 宋体;">编码转化器就不需要了</span><span lang="EN-US">.</span><span style="font-family: 宋体;">你可以设计一个服务器应用程序一合适的格式输出数据</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在发送数据到</span><span lang="EN-US">BES</span><span style="font-family: 宋体;">之前</span><span lang="EN-US">,</span><span style="font-family: 宋体;">你也可以将数据处理作为一单独的服务器端进程的一部分</span><span lang="EN-US">.</span></p>
<h3><a name="_Toc125107124"><span style="color: rgb(51, 51, 153); font-family: 宋体;">编码转化器</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">API</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"> <o:p></o:p></span></h3>
<table cellspacing="0" cellpadding="0" border="1" class="MsoNormalTable" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" class="MsoNormal" style="text-align: center;"><strong><span style="font-family: 宋体;">主要的编码转化器类</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" class="MsoNormal" style="text-align: center;"><strong><span style="font-family: 宋体;">描述</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HttpContentTranscoder</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">此类提供方法来控制</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求和响应的内容和属性</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HttpContentTranscoderException</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">本异常的抛出说明编码转化工程不成功</span><span lang="EN-US">. BlackBerry</span><span style="font-family: 宋体;">设备将把本异常作为</span><span lang="EN-US">IOException</span><span style="font-family: 宋体;">抛出</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HttpHeader</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">本类提供方法对</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求和响应的消息头进行操作</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HttpParameter</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">本类代表了</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">查询参数</span><span lang="EN-US">.</span><span style="font-family: 宋体;">它提供获取和设置参数名和值</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HttpRequest</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">本类扩展了</span><span lang="EN-US">HttpTransmission</span><span style="font-family: 宋体;">类</span><span lang="EN-US">,</span><span style="font-family: 宋体;">它代表了一个包含头</span><span lang="EN-US">,</span><span style="font-family: 宋体;">参数和内容的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HttpResponse</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">本类扩展了</span><span lang="EN-US">HttpTransmission</span><span style="font-family: 宋体;">类</span><span lang="EN-US">,</span><span style="font-family: 宋体;">它代表了一个包含头</span><span lang="EN-US">,</span><span style="font-family: 宋体;">参数和内容的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">响应</span><span lang="EN-US">.</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">HttpTransmission</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">本类提供获取和设置内容</span><span lang="EN-US">,</span><span style="font-family: 宋体;">头</span><span lang="EN-US">,</span><span style="font-family: 宋体;">以及</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求和响应的参数</span><span lang="EN-US">.</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体;">参看</span><em><span lang="EN-US">API</span></em><em><span style="font-family: 宋体;">参考</span></em><span style="font-family: 宋体;">获得更多信息</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">创建一个</span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">内容编码转化器</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体;">为了创建一个</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">内容编码转化器来全面控制</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求与响应内容</span><span lang="EN-US">,</span><span style="font-family: 宋体;">扩展</span><span lang="EN-US">HttpContentTranscoder</span><span style="font-family: 宋体;">类</span><span lang="EN-US">.</span><span style="font-family: 宋体;">本编码转化器也可以修改</span><span lang="EN-US">,</span><span style="font-family: 宋体;">增加</span><span lang="EN-US">,</span><span style="font-family: 宋体;">或删除</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求与响应属性</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">编码转化器必须在</span><span lang="EN-US">net.rim.protocal.http.content.tanscoder.&lt;name&gt;</span><span style="font-family: 宋体;">包里定义</span><span lang="EN-US">,</span><span style="font-family: 宋体;">在这里</span><span lang="EN-US">,&lt;name&gt;</span><span style="font-family: 宋体;">是映射文件中使用的编码转化器的标志符</span><span lang="EN-US">.</span><span style="font-family: 宋体;">它的类名必须是</span><span lang="EN-US">Transcoder.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">编码转化器的位置要么在</span><span lang="EN-US">httpcontenttranscoder</span><span style="font-family: 宋体;">文件指定</span><span lang="EN-US">,</span><span style="font-family: 宋体;">要么由应用程序指定</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p>&nbsp;</o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">处理</span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">内容编码转化器异常</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体;">任何由编码转化器抛出的异常将作为</span><span lang="EN-US">IOException</span><span style="font-family: 宋体;">被发送到应用程序</span><span lang="EN-US">.</span><span style="font-family: 宋体;">相关具体的消息也拷贝到</span><span lang="EN-US">IOException</span><span style="font-family: 宋体;">中</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_s1038 _x0000_s1039 _x0000_s1040" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：为代替抛出一个异常到<span lang="EN-US">HTTP</span>连接处理器<span lang="EN-US">,</span>一个编码转化器也可能发送一个<span lang="EN-US">HTTP</span>响应到一个应用程序<span lang="EN-US">,</span>这表明发生了一个内部的服务器错误<span lang="EN-US">.</span></span></p>
<h3><a name="_Toc125107125"><span style="color: rgb(51, 51, 153); font-family: 宋体;">选择编码转化器</span></a><span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">当</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备请求内容时</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务决定客户端请求的内容类型和服务器响应的内容类型的比较是否需要一个编码转化器</span><span lang="EN-US">.</span><span style="font-family: 宋体;">如果类型不一样</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务检查</span><span lang="EN-US">httpcontenttranscoder.property</span><span style="font-family: 宋体;">文件来决定一个编码转化器是否可用来转化内容</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备发送的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求里</span><span lang="EN-US">,x-rim-transcode-content</span><span style="font-family: 宋体;">头指定了</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">优化服务转化内容的输入格式</span><span lang="EN-US">.</span><span style="font-family: 宋体;">如果内容遇见以下情形</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">数据优化服务将转化内容</span><span lang="EN-US">:</span></p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体;">由</span><span lang="EN-US">x-rim-transcode-content</span><span style="font-family: 宋体;">头指定的输入格式也</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求的</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头中指定</span><span lang="EN-US">,</span><span style="font-family: 宋体;">此</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求是</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务发送到服务器的请求</span><span lang="EN-US">.</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Web</span><span style="font-family: 宋体;">服务器响应一个内容类型</span><span lang="EN-US">,</span><span style="font-family: 宋体;">或者输出类型</span><span lang="EN-US">,</span><span style="font-family: 宋体;">它和</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备接受的类型不同</span><span lang="EN-US">.</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">httpcontenttranscoder.property</span><span style="font-family: 宋体;">文件包含了一个编码转化器</span><span lang="EN-US">,</span><span style="font-family: 宋体;">此编码转化器可以将</span><span lang="EN-US">Web</span><span style="font-family: 宋体;">服务器发送到</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务的内容转化为</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备可接受的类型</span><span lang="EN-US">.</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">为了判断当</span><span lang="EN-US">push</span><span style="font-family: 宋体;">内容时一个编码转化器是否需要</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务检查内容类型</span><span lang="EN-US">(content-type)</span><span style="font-family: 宋体;">和服务器端应用程序的</span><span lang="EN-US">x-rim-transcode-content</span><span style="font-family: 宋体;">头</span><span lang="EN-US">.</span><span style="font-family: 宋体;">如果</span><span lang="EN-US">2</span><span style="font-family: 宋体;">者相同</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">数据优化服务将头文件指定的内容转为为</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">可以显示的格式</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span lang="EN-US">httpcontenttranscoder.property</span><span style="font-family: 宋体;">文件将输入的格式转化为一个给出的编码转化器</span><span lang="EN-US">.</span><span style="font-family: 宋体;">在下面的例子中</span><span lang="EN-US">, httpcontenttranscoder.property</span><span style="font-family: 宋体;">文件将</span><span lang="EN-US">.wml</span><span style="font-family: 宋体;">输入格式转化为</span><span lang="EN-US">.wbxml</span><span style="font-family: 宋体;">或</span><span lang="EN-US">.wmlc.</span></p>
<p class="MsoNormal" style="text-indent: 5.25pt;"><span lang="EN-US" style="font-family: 'andale mono';">content-type: text/vnd.wap.wml<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 5.25pt;"><span lang="EN-US" style="font-family: 'andale mono';">x-rim-transcode-content: text/vnd.wap.wml<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">你也可以创建定制的编码转化器来重新格式化或者转化应用程序请求的数据</span><span lang="EN-US">.</span><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">有愧乐意编写一个编码转化器将</span><span lang="EN-US">HTML</span><span style="font-family: 宋体;">内容转为为</span><span lang="EN-US">WML.</span><span style="font-family: 宋体;">参看</span><span lang="EN-US">196</span><span style="font-family: 宋体;">也的</span><span lang="EN-US">&rdquo;</span><span style="font-family: 宋体;">创建编码转化器</span><span lang="EN-US">&rdquo;</span><span style="font-family: 宋体;">获得更多信息</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">请求</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务使用</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型决定附加到一个服务器</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">响应的内容格式是否和</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备请求的内容格式相匹配</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务测试一列可用的编码转化器</span><span lang="EN-US">,</span><span style="font-family: 宋体;">并且扩展</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头</span><span lang="EN-US">.</span><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">如果一个请求接受</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">的</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型和一个编码转化器存在的</span><span lang="EN-US">HTML-to-WML,</span><span style="font-family: 宋体;">将</span><span lang="EN-US">HTML</span><span style="font-family: 宋体;">加到</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头</span><span lang="EN-US">.</span><span style="font-family: 宋体;">参看</span><span lang="EN-US">195</span><span style="font-family: 宋体;">页的</span><span lang="EN-US">&rdquo;</span><span style="font-family: 宋体;">映射编码转化器</span><span lang="EN-US">&rdquo;</span><span style="font-family: 宋体;">获得更多信息</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求里</span><span lang="EN-US">,</span><span style="font-family: 宋体;">应用程序可以包含</span><span lang="EN-US">2</span><span style="font-family: 宋体;">个头来控制它接收的内容的类型</span><span lang="EN-US">:</span></p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Content-Transcoder</span><span style="font-family: 宋体;">头</span><span lang="EN-US">.</span></p>
</blockquote>
<table cellspacing="0" cellpadding="0" border="1" class="MsoNormalTable" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="127" valign="top" style="padding: 0cm 5.4pt; width: 95.4pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">头</span></p>
</td>
<td width="432" valign="top" style="padding: 0cm 5.4pt; width: 324pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">描述</span></p>
</td>
</tr>
<tr>
<td width="127" valign="top" style="padding: 0cm 5.4pt; width: 95.4pt;">
<p class="MsoNormal"><span lang="EN-US">Accept</span></p>
</td>
<td width="432" valign="top" style="padding: 0cm 5.4pt; width: 324pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">在</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求的</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头里</span><span lang="EN-US">,</span><span style="font-family: 宋体;">应用程序列出它从内容服务器接收的</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">.</span><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">如果应用程序可以接收</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">或</span><span lang="EN-US">XML</span><span style="font-family: 宋体;">格式的内容</span><span lang="EN-US">,</span><span style="font-family: 宋体;">它在</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求里发送如下的消息头</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><span lang="EN-US">Accept:text/wml,text/xml</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">缺省的</span><span lang="EN-US">,</span><span style="font-family: 宋体;">当</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头列出了不止一个</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务将从左到右分配引用</span><span lang="EN-US">,</span><span style="font-family: 宋体;">在这里列出的第一个</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型假设为优先的</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">应用程序页可以将质量因子</span><span lang="EN-US">(Quality factor)</span><span style="font-family: 宋体;">赋值给</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型来表明优先权</span><span lang="EN-US">.</span><span style="font-family: 宋体;">质量因子范围时</span><span lang="EN-US">0(</span><span style="font-family: 宋体;">最低优先权</span><span lang="EN-US">)</span><span style="font-family: 宋体;">到</span><span lang="EN-US">1(</span><span style="font-family: 宋体;">最高优先权</span><span lang="EN-US">),</span><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">下面的头表明了编译的</span><span lang="EN-US">WML(WMLC)</span><span style="font-family: 宋体;">是优先的</span><span lang="EN-US">,</span><span style="font-family: 宋体;">但是</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">是可接受的</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">Accept:text/vnd.wap.wml;q=0.5, application/vnd.wap.wmlc;q=1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';"><o:p>&nbsp;</o:p></span></p>
</td>
</tr>
<tr>
<td width="127" valign="top" style="padding: 0cm 5.4pt; width: 95.4pt;">
<p class="MsoNormal"><span lang="EN-US">Content-Transcoder</span></p>
</td>
<td width="432" valign="top" style="padding: 0cm 5.4pt; width: 324pt;">
<p class="MsoNormal"><span lang="EN-US">Content-Transcoder</span><span style="font-family: 宋体;">头是一个</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">头</span><span lang="EN-US">,</span><span style="font-family: 宋体;">在内容返回到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备之前</span><span lang="EN-US">,</span><span style="font-family: 宋体;">它允许应用程序指定一个应用到任何内容的特定编码转化器</span><span lang="EN-US">.</span><span style="font-family: 宋体;">使用</span><span lang="EN-US">Content-Transcoder</span><span style="font-family: 宋体;">头覆写</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务运用的缺省处理来选择一个编码转化器</span><span lang="EN-US">.</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">响应</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">内容服务器产生一个包含一个</span><span lang="EN-US">Content-Type</span><span style="font-family: 宋体;">头的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">响应</span><span lang="EN-US">.. Content-Type</span><span style="font-family: 宋体;">头描述了一个特定数据包的</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">.</span><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">当内容服务器一</span><span lang="EN-US">HTML</span><span style="font-family: 宋体;">格式返回内容时</span><span lang="EN-US">,HTTP</span><span style="font-family: 宋体;">响应包含一个值为</span><span lang="EN-US">text/html</span><span style="font-family: 宋体;">的</span><span lang="EN-US">Content-Type</span><span style="font-family: 宋体;">头</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务将应用程序的请求和内容服务器的响应进行比较</span><span lang="EN-US">.</span><span style="font-family: 宋体;">下面的部分将描述</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务如何决定什么时候转化内容</span><span lang="EN-US">:</span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoNormalTable" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="139" valign="top" style="padding: 0cm 5.4pt; width: 104.4pt;">
<p class="MsoNormal"><strong><span style="font-family: 宋体;">响应类型</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
<td width="429" valign="top" style="padding: 0cm 5.4pt; width: 321.7pt;">
<p class="MsoNormal"><strong><span style="font-family: 宋体;">描述</span><span lang="EN-US"><o:p></o:p></span></strong></p>
</td>
</tr>
<tr>
<td width="139" valign="top" style="padding: 0cm 5.4pt; width: 104.4pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">不需要编码转化</span></p>
</td>
<td width="429" valign="top" style="padding: 0cm 5.4pt; width: 321.7pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">应用程序发送一个请求获取</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">格式的内容</span><span lang="EN-US">.</span><span style="font-family: 宋体;">请求包含以下的头</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><span lang="EN-US">Accept:text/vnd.wap.wml</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在它的响应里</span><span lang="EN-US">,</span><span style="font-family: 宋体;">内容服务器发送以下的头</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><span lang="EN-US">Content-Type:text/vnd.wap.wml</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">因为服务器返回的内容类型与</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">请求类型相符</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务不需要任何转化</span><span lang="EN-US">.</span><span style="font-family: 宋体;">它将内容毫无变化的转发给</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
</td>
</tr>
<tr>
<td width="139" valign="top" style="padding: 0cm 5.4pt; width: 104.4pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">需要编码转化</span></p>
</td>
<td width="429" valign="top" style="padding: 0cm 5.4pt; width: 321.7pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">应用程序发动一个请求获取内容</span><span lang="EN-US">.</span><span style="font-family: 宋体;">请求包含一下内容</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><span lang="EN-US">Accept: text/vnd.wap.wml; q=0.5, application/vnd.wap.wmlc; q=1</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">此消息头表明应用程序接受</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">或者编译的</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">格式</span><span lang="EN-US">(WMLC)</span><span style="font-family: 宋体;">的内容</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在它的响应中</span><span lang="EN-US">,</span><span style="font-family: 宋体;">内容服务器发送下面的头</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><span lang="EN-US">Content-Type: text/vnd.wap.wml</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">因为服务器返回的内容类型与</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">请求类型不符</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务搜索一个可以将</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">(WML)</span><span style="font-family: 宋体;">转化为优先的</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">(WMLC)</span><span style="font-family: 宋体;">的可用编码转化器</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">如果一个适合的编码转化器不可用</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务将</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">内容毫无变化的转发给</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备</span><span lang="EN-US">,</span><span style="font-family: 宋体;">因为初始请求表明</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备应用程序接受</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">内容</span><span lang="EN-US">.</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体;">每个编码转化器都实现了一个方法创建一个哈希表</span><span lang="EN-US">,</span><span style="font-family: 宋体;">此哈希表映射作为来自内容服务器的输入</span><span lang="EN-US">,</span><span style="font-family: 宋体;">编码转化器接受的格式</span><span lang="EN-US">,</span><span style="font-family: 宋体;">以及作为输出编码转化器创建的格式</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在启动时</span><span lang="EN-US">,</span><span style="font-family: 宋体;">将自</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求转发之前</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务使用哈希表修改</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头域</span><span lang="EN-US">.</span><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">一个</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备应用程序使用下面的</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头发送一个</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求</span><span lang="EN-US">:</span></p>
<p class="MsoNormal" style="text-indent: 5.25pt;"><span lang="EN-US" style="font-family: 'andale mono';">Accept: application/vnd.wap.wmlc, text/vnd.wap.wmlscriptc<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在审查编码转化器映射表之后</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">数据优化服务加入下面的项到</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头里</span><span lang="EN-US">:</span></p>
<p class="MsoNormal" style="text-indent: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">application/vnd.wap.wmlscript, text/wml, and text/vnd.wap.wml<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">Accept: application/vnd.wap.wmlc, text/vnd.wap.wmlscriptc, application/vnd.wap.wmlscript, text/wml, text/vnd.wap.wml<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">这个扩展的</span><span lang="EN-US">Accept</span><span style="font-family: 宋体;">头现在列出了所有内容服务器可以提供的</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">.</span></p>
<h3><a name="_Toc125107126"><span style="color: rgb(51, 51, 153); font-family: 宋体;">映射编码转化器</span></a><span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span lang="EN-US">httpcontenttranscoder.property</span><span style="font-family: 宋体;">文件在你的</span><span lang="EN-US">BlackBerry JDE </span><span style="font-family: 宋体;">安装目录的</span><span lang="EN-US">MDS\config</span><span style="font-family: 宋体;">子目录下</span><span lang="EN-US">.</span><span style="font-family: 宋体;">它指定了</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">数据优化服务如何管理应用程序与内容服务器之间的多种内容类型的交换</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">下面是</span><span lang="EN-US">httpcontenttranscoder.property</span><span style="font-family: 宋体;">的一个实例</span><span lang="EN-US">:</span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">text/vnd.wap.wml-&gt;application/vnd.wap.wmlc:vnd.wap.wml<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">text/vnd.wap.wml-&gt;application/vnd.wap.wbxml:vnd.wap.wml<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">text/vnd.wap.wmlscript-&gt;application/vnd.wap.wmlscriptc:wmls<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">text/html-&gt;application/vnd.rim.html.filtered:html<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">text/vnd.wap.wml:vnd.wap.wml<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">text/vnd.sun.j2me.app-descriptor-&gt;application/vnd.rim.cod:vnd.rim.cod<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">default:pass<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">每个入口使用了下面的格式</span><span lang="EN-US">:</span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">&lt;<em>InputType</em>&gt; [-&gt; &lt;<em>OutputType</em>&gt;]: &lt;<em>Action</em>&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在这里</span><span lang="EN-US">:</span></p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: 'andale mono';"><em>InputType</em>&gt;</span><span style="font-family: 'Andale Mono';">是内容服务器可用的<span lang="EN-US">MIME</span>类型<span lang="EN-US">,</span>或者<span lang="EN-US">default.</span></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: 'andale mono';"><em>OutputType</em>&gt;</span><span style="font-family: 'Andale Mono';">是<span lang="EN-US">BlackBerry</span>设备请求的<span lang="EN-US">MIME</span>类型<span lang="EN-US">.</span></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: 'andale mono';"><em>Action</em>&gt;</span><span style="font-family: 'Andale Mono';">是下列值之一<span lang="EN-US">:</span></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>n<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体;">编码转化器包名</span><span lang="EN-US">,</span><span style="font-family: 宋体;">如</span><span lang="EN-US">vnd.wap.wml</span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>n<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Pass:</span><span style="font-family: 宋体;">在没有改变下发送数据</span><span lang="EN-US">.</span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"><span lang="EN-US" style="font-family: wingdings;"><span>n<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Discard:</span><span style="font-family: 宋体;">放弃数据</span><span lang="EN-US">,</span><span style="font-family: 宋体;">不发送它</span><span lang="EN-US">.</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">下面几节解释在</span><span lang="EN-US">httpcontenttranscoder.property</span><span style="font-family: 宋体;">文件里可能的输入格式</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">格式</span><span lang="EN-US" style="color: rgb(51, 51, 153);">1<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">当服务器端可用的格式和</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备请求的格式不同时</span><span lang="EN-US">,</span><span style="font-family: 宋体;">下面格式的入口指定了</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">完成的动作</span><span lang="EN-US">.</span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">InputType -&gt; OutputType:Transcoder OR RSV<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">应用程序请求</span><span lang="EN-US">text/wml,</span><span style="font-family: 宋体;">但是内容服务器只有</span><span lang="EN-US">text/xml.MDS</span><span style="font-family: 宋体;">服务找到下面的</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型入口</span><span lang="EN-US">:</span></p>
<p class="MsoNormal" style="text-indent: 10.5pt;"><span lang="EN-US">Text/xml -&gt; Text/wml : vnd.wap.wml</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">根据本入口</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务必须使用</span><span lang="EN-US">vnd.wap.wml</span><span style="font-family: 宋体;">编码转化器将</span><span lang="EN-US">XML</span><span style="font-family: 宋体;">内容转化为</span><span lang="EN-US">WML.</span></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">格式</span><span lang="EN-US" style="color: rgb(51, 51, 153);">2<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体;">当服务器发送一个给定类型的内容</span><span lang="EN-US">,</span><span style="font-family: 宋体;">不考虑</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备请求的内容</span><span lang="EN-US">, ,</span><span style="font-family: 宋体;">下面格式的入口指定了</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">完成的动作</span><span lang="EN-US">.</span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US" style="font-family: 'andale mono';">InputType:Transcoder OR RSV<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">如果服务器仅有</span><span lang="EN-US">WML</span><span style="font-family: 宋体;">内容</span><span lang="EN-US">(text/vnd.wap.xml), .MDS</span><span style="font-family: 宋体;">服务找到下面的</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型入口</span><span lang="EN-US">:</span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span lang="EN-US"><span>&nbsp;</span></span><span lang="EN-US" style="font-family: 'andale mono';">text/vnd.wap.wml: vnd.wap.wml<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">根据本入口</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务必须使用</span><span lang="EN-US">vnd.wap.wml</span><span style="font-family: 宋体;">编码转化器将</span><span lang="EN-US">XML</span><span style="font-family: 宋体;">内容转化为</span><span lang="EN-US">WML.</span></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">缺省的入口</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体;">如果</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务不能为一个特定的</span><span lang="EN-US">MIME</span><span style="font-family: 宋体;">类型</span><span lang="EN-US">:</span></p>
<p class="MsoNormal" style="text-indent: 10.5pt;"><span lang="EN-US"><span>&nbsp;</span></span><span lang="EN-US" style="font-family: 'andale mono';">default : Transcoder or RSV<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">找到一个入口</span><span lang="EN-US">,</span><span style="font-family: 宋体;">一个缺省的入口指定了</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务完成的缺省动作</span><span lang="EN-US">.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">例如</span><span lang="EN-US">,</span><span style="font-family: 宋体;">如果</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务不能为</span><span lang="EN-US">defualt:pass</span><span style="font-family: 宋体;">缺省入口的内容找到一个入口</span><span lang="EN-US">,MDS</span><span style="font-family: 宋体;">服务将内容毫无变化的转发给</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备</span><span lang="EN-US">.</span></p>
<h2><a name="_Toc125107127"><span style="color: rgb(51, 51, 153); font-family: 黑体;">创建编码转化器</span></a><span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<h3><a name="_Toc125107128"><span style="color: rgb(51, 51, 153); font-family: 宋体;">将</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTML</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">标记和内容转化为大写</span></span><span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">遵循编码转化器包层次结构</span><span lang="EN-US" style="color: rgb(51, 51, 153);">(hierarchy)<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在</span><span lang="EN-US">net.rim.protocol.http.content.transcoder.&lt;transcoder name&gt;</span><span style="font-family: 宋体;">包里定义</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">内容转化器</span><span lang="EN-US">.</span><span style="font-family: 宋体;">所有</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">内容编码转化器必须在</span><span lang="EN-US">Transcoder</span><span style="font-family: 宋体;">包层次结构里定义</span><span lang="EN-US">.</span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; margin-left: 10.5pt; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">package</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.protocol.http.content.transcoder.uppercasehtm</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">扩展</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153); font-family: 'andale mono';">HTTPContentTranscoder</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span style="font-family: 宋体;">一个编码转化器的类名必须为</span><span lang="EN-US" style="font-family: 'andale mono';">Transcoder</span><span lang="EN-US">.</span><span style="font-family: 宋体;">它扩展了</span><span lang="EN-US" style="font-family: 'andale mono';">HttpContentTranscoder</span><span style="font-family: 宋体;">类</span><span lang="EN-US">.</span></p>
<p class="MsoNormal" style="margin-left: 10.5pt;"><span style="font-family: 宋体;">在本例中</span><span lang="EN-US">, </span><span style="font-family: 宋体;">一个公共类</span><span lang="EN-US" style="font-family: 'andale mono';">Transcoder</span><span style="font-family: 宋体;">定义了</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">内容编码转化器</span><span lang="EN-US">.</span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Transcoder </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HttpContentTranscoder { &#8230; }</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">定义</span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">头</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体;">为</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">头定义常数以及编码转化器加到这些头的字符串</span><span lang="EN-US">.</span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String CONTENTTYPE_HEADER_NAME = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;Content-Type&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String CONTENTLENGTH_HEADER_NAME = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;Content-Length&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String ACCEPT_HEADER_NAME = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;Accept&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Add this line to the Accept header field if it exists when</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// the BlackBerry device issues an HTTP request.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String ACCEPTLINE= </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;text/html&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// This line identifies the output content type that this transcoder produces.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String OUTPUT_TYPE= </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;text/UPPERCASEHTML&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">创建一个输入和输出类型的映射</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: arial;">getMapOfOutputToAcceptLine()</span><span style="font-size: 10pt; font-family: 宋体;">的实现创建了一个编码转化器输入和输出类型之间的映射</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体;">随着启动</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,MDS</span><span style="font-size: 10pt; font-family: 宋体;">服务使用映射修改</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">Accept</span><span style="font-size: 10pt; font-family: 宋体;">消息头域</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.MDS</span><span style="font-size: 10pt; font-family: 宋体;">服务发送一个</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">HTTP</span><span style="font-size: 10pt; font-family: 宋体;">请求中修改的头到一个</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">HTTP</span><span style="font-size: 10pt; font-family: 宋体;">服务器</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HashMap getMapOfOutputToAcceptLine() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>HashMap mapping = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HashMap();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>mapping.put(OUTPUT_TYPE, ACCEPTLINE);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">return</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> mapping;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">设置连接</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153);">URL<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体;">当</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerr</span><span style="font-size: 10pt; font-family: 宋体;">设备请求一个打开的</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">HTTP</span><span style="font-size: 10pt; font-family: 宋体;">连接时</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,</span><span style="font-size: 10pt; font-family: 宋体;">定义一个方法设置连接</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">URL.<o:p></o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> setURL(URL newURL) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>url = newURL;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">定义</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153);">BlackBerry</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">设备的请求处理</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体;">在</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">MDS</span><span style="font-size: 10pt; font-family: 宋体;">服务将</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerry</span><span style="font-size: 10pt; font-family: 宋体;">设备请求转发到目标服务器之前</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,transcodeDevice(HttpRequest)</span><span style="font-size: 10pt; font-family: 宋体;">的实现定义了任何对这些请求的处理</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.</span><span style="font-size: 10pt; font-family: 宋体;">下面的例子不需要处理</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体;">一个应用程序可以使用一个称为</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">Content-Transcoder</span><span style="font-size: 10pt; font-family: 宋体;">的</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">HTTP</span><span style="font-size: 10pt; font-family: 宋体;">头请求一个指定的编码转化器</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,<o:p></o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> transcodeDevice(HttpRequest request) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-indent: 24.6pt; text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">throws</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HttpContentTranscoderException {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Implementation.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">定义</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153);">BlackBerry</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">设备的响应处理</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体;">在</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">MDS</span><span style="font-size: 10pt; font-family: 宋体;">服务将</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerry</span><span style="font-size: 10pt; font-family: 宋体;">设备响应转发到目标服务器之前</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,</span><span lang="EN-US"> </span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">transcodeDevice(HttpResponse)</span><span style="font-size: 10pt; font-family: 宋体;">的实现定义了任何对这些响应的处理</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.</span><span style="font-size: 10pt; font-family: 宋体;">下面的例子不需要处理</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">:<o:p></o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> transcodeDevice(HttpResponse response) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">throws</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HttpContentTranscoderException {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Implementation.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">定义服务器的请求处理</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体;">在</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">MDS</span><span style="font-size: 10pt; font-family: 宋体;">服务将它转发到</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerry</span><span style="font-size: 10pt; font-family: 宋体;">设备之前</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,</span><span lang="EN-US"> </span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">transcodeServer(HttpRequest)</span><span style="font-size: 10pt; font-family: 宋体;">的实现定义了任何对内容服务器请求的处理需求</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> transcodeServer(HttpRequest request)</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">throws</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HttpContentTranscoderException {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Retrieve the request content, which, in this case, is in HTML.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">[] requestContent = request.getContent();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (requestContent != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Convert the content to String object.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String requestContentAsString = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String(requestContent).toUpperCase();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Convert the requestContentAsString to bytes again.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>requestContent = requestContentAsString.getBytes();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Send an HTML message to indicate that the server</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// is not responding with appropriate content.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>StringBuffer sb = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> StringBuffer();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;HTML&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;HEAD&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;TITLE&gt; UPPERCASEHTML TRANSCODER&lt;/title&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;/HEAD&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;BODY&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;SERVER IS NOT PUSHING APPROPRIATE CONTENT\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;/BODY\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;/HTML&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>requestContent = sb.toString().getBytes();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>request.setContent(requestContent);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Update the Content-Length</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HttpHeader contentLengthHeader =</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>request.getHeader(CONTENTLENGTH_HEADER_NAME);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (contentLengthHeader != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>contentLengthHeader.setValue(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> + requestContent.length);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// The server did not send the Content-Length.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// No update is needed.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Update the Content-Type.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HttpHeader contentTypeHeader =</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>request.getHeader(CONTENTTYPE_HEADER_NAME);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (contentTypeHeader != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>contentTypeHeader.setValue(OUTPUT_TYPE);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Add the Content Type here if the server does not specify one.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>request.putHeader(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HttpHeader(</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>CONTENTTYPE_HEADER_NAME, OUTPUT_TYPE));</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (Throwable t) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">throw</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HttpContentTranscoderException(t.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">定义服务器的响应处理</span></strong><strong><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 宋体;">在</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">MDS</span><span style="font-size: 10pt; font-family: 宋体;">服务将它转发到</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerry</span><span style="font-size: 10pt; font-family: 宋体;">设备之前</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,</span><span lang="EN-US"> </span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">transcodeServer(HttpResponse)</span><span style="font-size: 10pt; font-family: 宋体;">的实现定义了包含来自于内容服务器的内容服务器响应的任何处理需求</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.</span><span style="font-size: 10pt; font-family: 宋体;">如果响应不包含任何内容</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,MDS</span><span style="font-size: 10pt; font-family: 宋体;">服务将响应毫无变化的转发给</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerry</span><span style="font-size: 10pt; font-family: 宋体;">设备</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" class="MsoTableGrid" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" class="MsoNormal" style="text-align: left;"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> transcodeServer(HttpResponse response) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">throws</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HttpContentTranscoderException {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Retrieve the response content, which in this case is in HTML.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">[] responseContent = response.getContent();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (responseContent != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Convert the content to String object.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String responseContentAsString = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String(responseContent).toUpperCase();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Convert the responseContentAsString to bytes again.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>responseContent = responseContentAsString.getBytes();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// No response is received from the server.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>StringBuffer sb = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> StringBuffer();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;HTML&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;HEAD&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;TITLE&gt; UPPERCASEHTML TRANSCODER &lt;/title&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;/HEAD&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;BODY&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;SERVER IS NOT RESPONDING\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;/BODY\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&lt;/HTML&gt;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>responseContent = sb.toString().getBytes();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>response.setContent(responseContent);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Update the Content-Length.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HttpHeader contentLengthHeader =</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>response.getHeader(CONTENTLENGTH_HEADER_NAME);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (contentLengthHeader != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>contentLengthHeader.setValue(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> + responseContent.length);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Server did not send Content-Length so no update is required.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Update the Content-Type.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HttpHeader contentTypeHeader =</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>response.getHeader(CONTENTTYPE_HEADER_NAME);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (contentTypeHeader != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>contentTypeHeader.setValue(OUTPUT_TYPE);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Add the Content Type here.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>response.putHeader(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HttpHeader(CONTENTTYPE_HEADER_NAME, OUTPUT_TYPE));</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (Throwable t) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">throw</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HttpContentTranscoderException(t.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" class="MsoNormal" style="text-align: left;"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><o:p>&nbsp;</o:p></span></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="_Toc125107129"><span style="color: rgb(51, 51, 153); font-family: 黑体;">编译和安装编码转化器</span></a><span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<blockquote dir="ltr" style="margin-right: 0px;">
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><span>1.<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 10pt; font-family: 宋体;">编译编码转化器的类文件</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,</span><span style="font-size: 10pt; font-family: 宋体;">在类路径里包含</span><strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">bmds.jar</span></strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><span>2.<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 10pt; font-family: 宋体;">为编译编码转化器创建一个</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">jar</span><span style="font-size: 10pt; font-family: 宋体;">文件</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><span>3.<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 10pt; font-family: 宋体;">以下面的任一方式安装编码转化器</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.jar</span><span style="font-size: 10pt; font-family: 宋体;">文件</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BES</span></strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">:</span><span style="font-size: 10pt; font-family: 宋体;">将一个编码转化器</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.jar</span><span style="font-size: 10pt; font-family: 宋体;">文件加到</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">JRE</span><span style="font-size: 10pt; font-family: 宋体;">的</span><strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">lib\jar</span></strong><span style="font-size: 10pt; font-family: 宋体;">目录下</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.</span><span style="font-size: 10pt; font-family: 宋体;">此</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.jar</span><span style="font-size: 10pt; font-family: 宋体;">文件必须可访问</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">Java VM.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: wingdings;"><span>l<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span style="font-size: 10pt; font-family: 宋体;">模拟器</span></strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">:</span><span style="font-size: 10pt; font-family: 宋体;">将一个编码转化器</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.jar</span><span style="font-size: 10pt; font-family: 宋体;">文件加到</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerry JDE</span><span style="font-size: 10pt; font-family: 宋体;">的</span><strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">MDS\classpath</span></strong><span style="font-size: 10pt; font-family: 宋体;">目录下</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><span>4.<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 10pt; font-family: 宋体;">打开</span><strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">httpcontenttranscoderslist</span></strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<strong>property</strong></span><span style="font-size: 10pt; font-family: 宋体;">文件</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,</span><span style="font-size: 10pt; font-family: 宋体;">此文件在</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerry JDE</span><span style="font-size: 10pt; font-family: 宋体;">安装目录的</span><strong><span lang="EN-US" style="font-size: 10pt; font-family: arial;">MDS\Config</span></strong><span style="font-size: 10pt; font-family: 宋体;">子目录下</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><span>5.<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 10pt; font-family: 宋体;">为了指定何时使用编码转化器</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,</span><span style="font-size: 10pt; font-family: 宋体;">加入一个或多个入口</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,.</span><span style="font-size: 10pt; font-family: 宋体;">例如</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">,</span><span style="font-size: 10pt; font-family: 宋体;">为了使用</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">uppercasehtml</span><span style="font-size: 10pt; font-family: 宋体;">编码转化器将</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">HTML</span><span style="font-size: 10pt; font-family: 宋体;">内容转化为大写的</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">HTML,</span><span style="font-size: 10pt; font-family: 宋体;">加入下面的入口</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><span>&nbsp;&nbsp;&nbsp; </span>text/html -&gt; text/UPPERCASEHTML : uppercasehtml<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><span>6.<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 10pt; font-family: 宋体;">保存属性文件</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span lang="EN-US" style="font-size: 10pt; font-family: arial;"><span>7.<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 10pt; font-family: 宋体;">重启</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">MDS</span><span style="font-size: 10pt; font-family: 宋体;">服务或</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">BlackBerry MDS</span><span style="font-size: 10pt; font-family: 宋体;">模拟器</span><span lang="EN-US" style="font-size: 10pt; font-family: arial;">.<o:p></o:p></span></p>
</blockquote>
<p> <span lang="EN-US" style="font-size: 10.5pt; font-family: 'times new roman';"></span> </p>
<div>   <br clear="all" /></div>
<div>
<hr width="33%" size="1" align="left" /></div>
<div id="ftn1">
<p class="MsoFootnoteText"><span class="MsoFootnoteReference"><span lang="EN-US"><span><span class="MsoFootnoteReference"><span lang="EN-US" style="font-size: 9pt; font-family: 'times new roman';">&nbsp;&nbsp;&nbsp; [1]</span></span></span></span></span><span style="font-family: 宋体;">其实就是</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">协议。译者注。</span></p>
<p>&nbsp;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-append-mds.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.791 seconds -->
