<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>软件技术狂热者的专栏</title>
    <description>曾就职于用友、金蝶、SAP，5年以上技术研发和行业管理经验。关注技术发展、软件工程、行业动态。</description>
    <link>http://softstone.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>了解WSDL中的style和use</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/172892" style="color:red;">http://softstone.javaeye.com/blog/172892</a>&nbsp;
          发表时间: 2008年03月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="宋体">1.</font><span style="FONT: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><font face="宋体"><span lang="EN-US">Style</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US">use</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的组合</span></font></h1><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><o:p><font size="3" face="宋体">&nbsp;</font></o:p></span></p><p class="2" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><font size="3"><font face="宋体"><span lang="EN-US">use</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">属性可以为</span><span lang="EN-US">literal</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span lang="EN-US">encoded</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">；</span><span lang="EN-US">style</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">可以为</span><span lang="EN-US">rpc</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span lang="EN-US">document</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，我们来对五种类型的</span><span lang="EN-US">style/use</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">决定的</span><span lang="EN-US">binding</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">作一比较，分别是</span><span lang="EN-US">rpc/literal, document/literal none-wrapper, document/literal with wrapper, rpc/encoded, </span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">以及</span><span lang="EN-US">document/encoded</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。</span></font><span lang="EN-US" style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%"><o:p></o:p></span></font></p><p class="2" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">从生成</span><font face="宋体"><span lang="EN-US">soap</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">消息的角度看，</span><span lang="EN-US">rpc</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span><span lang="EN-US">document</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的差别在于方法的操作名是否出现在生成的</span><span lang="EN-US">Soap</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">消息中，</span><span lang="EN-US">encoded</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span><span lang="EN-US">literal</span></font><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">编码方式的差别在于参数类型是否出现在生成的</span><font face="宋体"><span lang="EN-US">Soap</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">消息中。</span></font></font></p><p class="2" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">这样</span><font face="宋体"><span lang="EN-US">rpc/encoded</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">能够完整地表示一个方法调用，但缺点是性能很差，而且不能校验</span><span lang="EN-US">Soap</span></font><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">消息的有效性。</span></font></p><p class="2" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><font face="宋体"><font size="3"><span lang="EN-US">rpc/literal</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">不对参数类型进行编码，但仍然无法对</span><span lang="EN-US">Soap</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">消息进行校验。</span><span lang="EN-US">Document/encoded</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">没有意义，因为没有方法名，对参数类型编码没有什么意义。</span></font></font></p><p class="2" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><font face="宋体"><font size="3"><span lang="EN-US">document/literal none-wrapper</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">无法生成操作名，适用于完整的文档作为参数传递给方法的场景。</span></font></font></p><p class="2" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><font face="宋体"><font size="3"><span lang="EN-US">document/literal with wrapper</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">应该是目前使用最多的方式，在</span><span lang="EN-US">xfire</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中也是默认配置。</span></font></font></p><h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="宋体">2.</font><span style="FONT: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp; </span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">示例</span></h1><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><o:p><font size="3" face="宋体">&nbsp;</font></o:p></span></p><h2 style="MARGIN: 13pt 0cm 13pt 1cm"><span lang="EN-US" style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial"><span style="mso-list: Ignore"><font face="黑体">2.1.</font><span style="FONT: 7pt &quot;Times New Roman&quot;"> </span></span></span><font face="黑体"><span lang="EN-US">Java</span><span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">方法</span></font></h2><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><o:p><font size="3" face="宋体">&nbsp;</font></o:p></span></p><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><font face="宋体"><span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 0pt">public void myMethod(int x);</span><span lang="EN-US" style="FONT-SIZE: 12pt"><o:p></o:p></span></font></p><h2 style="MARGIN: 13pt 0cm 13pt 1cm"><span lang="EN-US" style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial"><span style="mso-list: Ignore"><font face="黑体">2.2.</font><span style="FONT: 7pt &quot;Times New Roman&quot;"> </span></span></span><span lang="EN-US"><font face="黑体">Rpc/encoded</font></span></h2><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><o:p><font size="3" face="宋体">&nbsp;</font></o:p></span></p><p class="2" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><font face="宋体"><font size="3"><span lang="EN-US">Rpc</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">风格的特点是</span><span lang="EN-US">message</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">元素的每一个</span><span lang="EN-US">part</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">都必须用</span><span lang="EN-US">type</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">属性定义。</span><span lang="EN-US">encoded</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">用来指明一个类型编码模型，不依赖于</span><span lang="EN-US">XML Schema</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。</span></font></font></p><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"><a name="listing2"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">清单</span></strong></a><span style="mso-bookmark: listing2"><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> <strong><span lang="EN-US">2. </span></strong></span></span><span style="mso-bookmark: listing2"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于</span></strong></span><span style="mso-bookmark: listing2"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> myMethod </span></strong></span><span style="mso-bookmark: listing2"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的</span></strong></span><span style="mso-bookmark: listing2"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> RPC/</span></strong></span><span style="mso-bookmark: listing2"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">编码的</span></strong></span><span style="mso-bookmark: listing2"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> WSDL</span></strong></span><span style="mso-bookmark: listing2"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> </span></span><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"><o:p></o:p></span></p><table class="MsoNormalTable" cellspacing="0" border="0" style="WIDTH: 100%; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm" width="100%" cellpadding="0">    <tbody>        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">            <td style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 3.75pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 3.75pt; BACKGROUND: #eeeeee; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #cccccc 1pt solid; mso-border-alt: solid #CCCCCC .75pt">            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;message name=&quot;myMethodRequest&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;part name=&quot;x&quot; type=&quot;xsd:int&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;/message&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;message name=&quot;empty&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;portType name=&quot;PT&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;operation name=&quot;myMethod&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;input message=&quot;myMethodRequest&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;output message=&quot;empty&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;/operation&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;/portType&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;binding .../&gt;<span style="mso-spacerun: yes">&nbsp; </span><o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;!-- I won't bother with the details, just assume it's RPC/encoded. --&gt;<o:p></o:p></span></p>            </td>        </tr>    </tbody></table><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"><span lang="EN-US" style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"><o:p>&nbsp;</o:p></span></p><p class="1" style="MARGIN: 0cm 0cm 0pt"><font size="3" face="宋体">现在用<span lang="EN-US">&ldquo;5&rdquo;</span>作为参数 </font><span lang="EN-US" style="FONT-SIZE: 6.5pt; FONT-FAMILY: Courier; mso-bidi-font-size: 12.0pt">x </span><font size="3"><font face="宋体">的值来调用此方法。我们将发送一个与 <span lang="EN-US"><a href="http://www.ibm.com/developerworks/cn/webservices/ws-whichwsdl/#listing3#listing3"><span lang="EN-US" style="COLOR: #5c81a7"><span lang="EN-US">清单3</span></span></a></span>类似的<span lang="EN-US"> SOAP </span>消息。<span lang="EN-US"> </span></font></font></p><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"><a name="listing3"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">清单</span></strong></a><span style="mso-bookmark: listing3"><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> <strong><span lang="EN-US">3. </span></strong></span></span><span style="mso-bookmark: listing3"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于</span></strong></span><span style="mso-bookmark: listing3"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> myMethod </span></strong></span><span style="mso-bookmark: listing3"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的</span></strong></span><span style="mso-bookmark: listing3"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> RPC/</span></strong></span><span style="mso-bookmark: listing3"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">编码的</span></strong></span><span style="mso-bookmark: listing3"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> SOAP </span></strong></span><span style="mso-bookmark: listing3"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">消息</span></strong></span><span style="mso-bookmark: listing3"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> </span></span><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"><o:p></o:p></span></p><table class="MsoNormalTable" cellspacing="0" border="0" style="WIDTH: 100%; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm" width="100%" cellpadding="0">    <tbody>        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">            <td style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 3.75pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 3.75pt; BACKGROUND: #eeeeee; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #cccccc 1pt solid; mso-border-alt: solid #CCCCCC .75pt">            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;soap:envelope&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;soap:body&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;myMethod&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;x xsi:type=&quot;xsd:int&quot;&gt;5&lt;/x&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/myMethod&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;/soap:body&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;/soap:envelope&gt;<o:p></o:p></span></p>            </td>        </tr>    </tbody></table><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><o:p>&nbsp;</o:p></span></p><h2 style="MARGIN: 13pt 0cm 13pt 1cm"><a name="1"><span lang="EN-US" style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial"><span style="mso-list: Ignore"><font face="黑体">2.3.</font><span style="FONT: 7pt &quot;Times New Roman&quot;"> </span></span></span><span lang="EN-US"><font face="黑体">RPC/</font></span></a><span style="mso-bookmark: 1"><span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">文字</span></span></h2><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><o:p><font size="3" face="宋体">&nbsp;</font></o:p></span></p><p class="1" style="MARGIN: 0cm 0cm 0pt"><font size="3"><font face="宋体">用于我们的方法的<span lang="EN-US"> RPC/</span>文字的<span lang="EN-US"> WSDL </span>看起来与<span lang="EN-US"> RPC/</span>编码的<span lang="EN-US"> WSDL </span>几乎一样。只是绑定的用法由 <em>编码</em>改为 <em>文字</em>。仅此而已。<span lang="EN-US"> </span></font></font></p><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"><a name="listing4"></a><a name="N1012B"><span style="mso-bookmark: listing4"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">4. </span></strong></span></a><span style="mso-bookmark: N1012B"><span style="mso-bookmark: listing4"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于</span></strong></span></span><span style="mso-bookmark: N1012B"><span style="mso-bookmark: listing4"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> myMethod </span></strong></span></span><span style="mso-bookmark: N1012B"><span style="mso-bookmark: listing4"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的</span></strong></span></span><span style="mso-bookmark: N1012B"><span style="mso-bookmark: listing4"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> RPC/</span></strong></span></span><span style="mso-bookmark: N1012B"><span style="mso-bookmark: listing4"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">文字的</span></strong></span></span><span style="mso-bookmark: N1012B"><span style="mso-bookmark: listing4"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> WSDL</span></strong></span></span><span style="mso-bookmark: N1012B"></span><span style="mso-bookmark: listing4"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"><o:p></o:p></span></span></p><table class="MsoNormalTable" cellspacing="0" border="0" style="WIDTH: 100%; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm" width="100%" cellpadding="0">    <tbody>        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">            <td style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 3.75pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 3.75pt; BACKGROUND: #eeeeee; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #cccccc 1pt solid; mso-border-alt: solid #CCCCCC .75pt">            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;message name=&quot;myMethodRequest&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;part name=&quot;x&quot; type=&quot;xsd:int&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;/message&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;message name=&quot;empty&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;portType name=&quot;PT&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;operation name=&quot;myMethod&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;input message=&quot;myMethodRequest&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;output message=&quot;empty&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;/operation&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;/portType&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;binding .../&gt;<span style="mso-spacerun: yes">&nbsp; </span><o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;!-- I won't bother with the details, just assume it's RPC/<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体">literal</span></strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">. --&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>            </td>        </tr>    </tbody></table><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"><span style="mso-bookmark: listing4"><span lang="EN-US" style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"><o:p>&nbsp;</o:p></span></span></p><p class="1" style="MARGIN: 0cm 0cm 0pt"><span style="mso-bookmark: listing4"><font size="3"><font face="宋体"><span lang="EN-US">RPC/</span>文字的<span lang="EN-US"> SOAP </span>消息去掉了类型编码。<span lang="EN-US"> </span></font></font></span></p><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"><span style="mso-bookmark: listing4"><a name="listing5"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">清单</span></strong></a></span><span style="mso-bookmark: listing4"><span style="mso-bookmark: listing5"><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> <strong><span lang="EN-US">5. </span></strong></span></span></span><span style="mso-bookmark: listing5"></span><span style="mso-bookmark: listing4"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于</span></strong></span><span style="mso-bookmark: listing4"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> myMethod </span></strong></span><span style="mso-bookmark: listing4"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的</span></strong></span><span style="mso-bookmark: listing4"><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> <a name="N10158"><strong><span lang="EN-US">RPC/</span></strong></a></span></span><span style="mso-bookmark: listing4"><span style="mso-bookmark: N10158"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">文字的</span></strong></span></span><span style="mso-bookmark: listing4"><span style="mso-bookmark: N10158"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> SOAP </span></strong></span></span><span style="mso-bookmark: listing4"><span style="mso-bookmark: N10158"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">消息</span></strong></span></span><span style="mso-bookmark: N10158"></span><span style="mso-bookmark: listing4"><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"><o:p></o:p></span></span></p><table class="MsoNormalTable" cellspacing="0" border="0" style="WIDTH: 100%; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm" width="100%" cellpadding="0">    <tbody>        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">            <td style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 3.75pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 3.75pt; BACKGROUND: #eeeeee; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #cccccc 1pt solid; mso-border-alt: solid #CCCCCC .75pt">            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;soap:envelope&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;soap:body&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;myMethod&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;x&gt;5&lt;/x&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/myMethod&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;/soap:body&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;/soap:envelope&gt;<o:p></o:p></span></p>            </td>        </tr>    </tbody></table><span style="mso-bookmark: listing4"></span><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><o:p>&nbsp;</o:p></span></p><h2 style="MARGIN: 13pt 0cm 13pt 1cm"><span lang="EN-US" style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial"><span style="mso-list: Ignore"><font face="黑体">2.4.</font><span style="FONT: 7pt &quot;Times New Roman&quot;"> </span></span></span><span lang="EN-US"><font face="黑体">document/literal</font></span></h2><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><o:p><font size="3" face="宋体">&nbsp;</font></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font face="宋体"><span lang="EN-US" style="FONT-SIZE: 11.5pt; COLOR: #333333">document/literal</span><span style="FONT-SIZE: 11.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的主要特点是</span><span lang="EN-US" style="FONT-SIZE: 11.5pt; COLOR: #333333">message</span><span style="FONT-SIZE: 11.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">元素的每一个</span><span lang="EN-US" style="FONT-SIZE: 11.5pt; COLOR: #333333">part</span><span style="FONT-SIZE: 11.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都使用</span><span lang="EN-US" style="FONT-SIZE: 11.5pt; COLOR: #333333">element</span><span style="FONT-SIZE: 11.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性引用一个</span><span lang="EN-US" style="FONT-SIZE: 11.5pt; COLOR: #333333">types</span><span style="FONT-SIZE: 11.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面定义的</span><span lang="EN-US" style="FONT-SIZE: 11.5pt; COLOR: #333333">schema</span><span style="FONT-SIZE: 11.5pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">元素。</span></font><a name="N101B2"><span lang="EN-US" style="FONT-SIZE: 11.5pt; COLOR: #333333"><o:p></o:p></span></a></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="mso-bookmark: N101B2"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">清单</span></strong></span><span style="mso-bookmark: N101B2"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">6. </span></strong></span><span style="mso-bookmark: N101B2"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于</span></strong></span><span style="mso-bookmark: N101B2"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> myMethod </span></strong></span><span style="mso-bookmark: N101B2"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的文档</span></strong></span><span style="mso-bookmark: N101B2"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">/</span></strong></span><span style="mso-bookmark: N101B2"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">文字的</span></strong></span><span style="mso-bookmark: N101B2"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> WSDL</span></strong></span><span style="mso-bookmark: N101B2"></span><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"><o:p></o:p></span></p><table class="MsoNormalTable" cellspacing="0" border="0" style="WIDTH: 100%; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm" width="100%" cellpadding="0">    <tbody>        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">            <td style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 3.75pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 3.75pt; BACKGROUND: #eeeeee; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #cccccc 1pt solid; mso-border-alt: solid #CCCCCC .75pt">            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><strong><span lang="DE" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体; mso-ansi-language: DE">&lt;types&gt;<o:p></o:p></span></strong></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><strong><span lang="DE" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体; mso-ansi-language: DE"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;schema&gt;<o:p></o:p></span></strong></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><strong><span lang="DE" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体; mso-ansi-language: DE"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;element name=&quot;xElement&quot; type=&quot;xsd:int&quot;/&gt;<o:p></o:p></span></strong></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><strong><span lang="DE" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体; mso-ansi-language: DE"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span></span></strong><strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体">&lt;/schema&gt;<o:p></o:p></span></strong></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体">&lt;/types&gt;</span></strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;message name=&quot;myMethodRequest&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;part name=&quot;x&quot; </span><strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体">element=&quot;xElement&quot;</span></strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;/message&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;message name=&quot;empty&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;portType name=&quot;PT&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;operation name=&quot;myMethod&quot;&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;input message=&quot;myMethodRequest&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;output message=&quot;empty&quot;/&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;/operation&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;/portType&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;binding .../&gt;<span style="mso-spacerun: yes">&nbsp; </span><o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;!-- I won't bother with the details, just assume it's <o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 宋体">document</span></strong><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">/literal. --&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>            </td>        </tr>    </tbody></table><p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"><a name="N101D0"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">清单</span></strong></a><span style="mso-bookmark: N101D0"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">7. </span></strong></span><span style="mso-bookmark: N101D0"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于</span></strong></span><span style="mso-bookmark: N101D0"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> myMethod </span></strong></span><span style="mso-bookmark: N101D0"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的文档</span></strong></span><span style="mso-bookmark: N101D0"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt">/</span></strong></span><span style="mso-bookmark: N101D0"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">文字的</span></strong></span><span style="mso-bookmark: N101D0"><strong><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"> SOAP </span></strong></span><span style="mso-bookmark: N101D0"><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">消息</span></strong></span><span style="mso-bookmark: N101D0"></span><span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial; mso-font-kerning: 0pt"><o:p></o:p></span></p><table class="MsoNormalTable" cellspacing="0" border="0" style="WIDTH: 100%; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm" width="100%" cellpadding="0">    <tbody>        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">            <td style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 3.75pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 3.75pt; BACKGROUND: #eeeeee; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #cccccc 1pt solid; mso-border-alt: solid #CCCCCC .75pt">            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;soap:envelope&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;soap:body&gt;<o:p></o:p></span></p>            <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span lang="EN-US" style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: &quot;Lucida Console&quot;; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;xElement&gt;5&lt;/xElement&gt;<o:p></o:p></span></p>            p<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 14.25pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.</td></tr></tbody></table>
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/172892#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 14 Mar 2008 17:50:00 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/172892</link>
        <guid>http://softstone.javaeye.com/blog/172892</guid>
      </item>
      <item>
        <title>读懂WSDL</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/172893" style="color:red;">http://softstone.javaeye.com/blog/172893</a>&nbsp;
          发表时间: 2008年03月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;<div><strong><font size="4"><span>1.<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span>WSDL 是什么</font></strong></div><div><strong><font size="4"></font></strong></div><div style="TEXT-INDENT: 24pt">WSDL 指网络服务描述语言 (Web Services Description Language)。 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置，以及此服务提供的操作（或方法）。</div><div style="TEXT-INDENT: 24pt"></div><div><strong><font size="4"><span>2.<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span>WSDL 文档结构</font></strong></div><div><strong><font size="4"></font></strong></div><div align="left" style="MARGIN-TOP: 9pt; LINE-HEIGHT: 150%"><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">WSDL </span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">文档是利用这些主要的元素来描述某个 web service 的：</span></div><table cellspacing="0" border="1" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 100%; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" width="100%" cellpadding="0">    <tbody>        <tr>            <td style="BORDER-RIGHT: #888888 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: #888888 1pt solid; PADDING-LEFT: 3.75pt; BACKGROUND: #cccccc; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #888888 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #888888 1pt solid">            <div align="center" style="MARGIN-TOP: 7.5pt"><strong><span style="FONT-SIZE: 12pt">元素</span></strong></div>            </td>            <td style="BORDER-RIGHT: #888888 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: #888888 1pt solid; PADDING-LEFT: 3.75pt; BACKGROUND: #cccccc; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #888888 1pt solid">            <div align="center" style="MARGIN-TOP: 7.5pt"><strong><span style="FONT-SIZE: 12pt">定义</span></strong></div>            </td>        </tr>        <tr>            <td valign="top" style="BORDER-RIGHT: #aaaaaa 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #efefef; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #aaaaaa 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #aaaaaa 1pt solid">            <div align="center" style="MARGIN-TOP: 7.5pt"><span style="FONT-SIZE: 12pt">&lt;portType&gt;</span></div>            </td>            <td valign="top" style="BORDER-RIGHT: #aaaaaa 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #efefef; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #aaaaaa 1pt solid">            <div style="TEXT-JUSTIFY: inter-ideograph">最重要的 WSDL 元素，它可描述一个 web service可被执行的操作以及相关的消息。 </div>            <div style="TEXT-JUSTIFY: inter-ideograph">可以把 &lt;portType&gt; 元素比作传统编程语言中的一个函数库（或一个模块、或一个类）。</div>            </td>        </tr>        <tr>            <td valign="top" style="BORDER-RIGHT: #aaaaaa 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #efefef; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #aaaaaa 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #aaaaaa 1pt solid">            <div align="center" style="MARGIN-TOP: 7.5pt"><span style="FONT-SIZE: 12pt">&lt;message&gt;</span></div>            </td>            <td valign="top" style="BORDER-RIGHT: #aaaaaa 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #efefef; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #aaaaaa 1pt solid">            <div style="TEXT-JUSTIFY: inter-ideograph">用于描述一个操作的数据元素。每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。</div>            </td>        </tr>        <tr>            <td valign="top" style="BORDER-RIGHT: #aaaaaa 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #efefef; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #aaaaaa 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #aaaaaa 1pt solid">            <div align="center" style="MARGIN-TOP: 7.5pt"><span style="FONT-SIZE: 12pt">&lt;types&gt;</span></div>            </td>            <td valign="top" style="BORDER-RIGHT: #aaaaaa 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #efefef; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #aaaaaa 1pt solid">            <div>web service 使用的数据类型定义。为了最大程度的平台中立性，WSDL 使用 XML Schema 语法来定义数据类型。</div>            </td>        </tr>        <tr>            <td valign="top" style="BORDER-RIGHT: #aaaaaa 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #efefef; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #aaaaaa 1pt solid; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #aaaaaa 1pt solid">            <div align="center" style="MARGIN-TOP: 7.5pt"><span style="FONT-SIZE: 12pt">&lt;binding&gt;</span></div>            </td>            <td valign="top" style="BORDER-RIGHT: #aaaaaa 1pt solid; PADDING-RIGHT: 11.25pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #efefef; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #aaaaaa 1pt solid">            <div>web service 使用的通信协议元素。为每个端口定义消息格式和协议细节。</div>            </td>        </tr>    </tbody></table><div align="left" style="MARGIN-TOP: 9pt; LINE-HEIGHT: 150%"><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">一个 WSDL 文档的主要结构</span></div><div><strong>l 抽象定义</strong>　　</div><div>Types　　<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>独立与机器和语言的类型定义</div><div>Messages　　&nbsp;包括函数参数（输入与输出分开）或文档描述</div><div>PortTypes<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>引用消息部分中消息定义来描述函数签名（操作名、输入参数、输出参数）</div><div><strong>2 具体定义</strong></div><div>Bindings<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortTypes</span>部分的每一操作在此绑定实现</div><div>Services<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>确定每一绑定的端口地址</div><div align="left" style="MARGIN-TOP: 9pt; LINE-HEIGHT: 150%">&nbsp;文档形式为：</div><div>&lt;definitions&gt;</div><div>&nbsp;</div><div>&lt;types&gt;</div><div><span style="COLOR: blue">&nbsp;&nbsp; definition of types........</span></div><div>&lt;/types&gt;</div><div>&nbsp;</div><div>&lt;message&gt;</div><div><span style="COLOR: blue">&nbsp;&nbsp; definition of a message....</span></div><div>&lt;/message&gt;</div><div>&nbsp;</div><div>&lt;portType&gt;</div><div><span style="COLOR: blue">&nbsp;&nbsp; definition of a port.......</span></div><div>&lt;/portType&gt;</div><div>&nbsp;</div><div>&lt;binding&gt;</div><div><span style="COLOR: blue">&nbsp;&nbsp; definition of a binding....</span></div><div>&lt;/binding&gt;</div><div>&nbsp;</div><div>&lt;/definitions&gt;</div><div align="left" style="MARGIN-TOP: 9pt; LINE-HEIGHT: 150%"><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">WSDL </span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">文档可包含其它的元素，比如 extension 元素，以及一个 service 元素，此元素可把若干个 web services 的定义组合在一个单一的 WSDL 文档中。</span></div><div align="left" style="MARGIN-TOP: 9pt; LINE-HEIGHT: 150%"><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"></span></div><div><strong><font size="5"><font size="3"><span>2.1.</span>WSDL文档实例</font> </font></strong></div><div><strong><font size="5"></font></strong></div><div>&lt;message name=&quot;getTermRequest&quot;&gt;</div><div><span>&nbsp;&nbsp; &lt;part name=&quot;term&quot; type=&quot;xs:string&quot;/&gt;</span></div><div>&lt;/message&gt;</div><div>&nbsp;</div><div>&lt;message name=&quot;getTermResponse&quot;&gt;</div><div><span>&nbsp;&nbsp; &lt;part name=&quot;value&quot; type=&quot;xs:string&quot;/&gt;</span></div><div>&lt;/message&gt;</div><div>&nbsp;</div><div>&lt;portType name=&quot;glossaryTerms&quot;&gt;</div><div>&nbsp;&lt;operation name=&quot;getTerm&quot;&gt;</div><div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input message=&quot;getTermRequest&quot;/&gt;</span></div><div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;output message=&quot;getTermResponse&quot;/&gt;</span></div><div>&nbsp;&lt;/operation&gt;</div><div>&lt;/portType&gt;</div><div></div><div><strong><font size="3"><span>2.2.</span>message和portType元素</font></strong></div><div><strong><font size="3"></font></strong></div><div style="TEXT-INDENT: 24pt"><span style="LINE-HEIGHT: 150%">在这个例子中，</span><em><span style="FONT-WEIGHT: normal; LINE-HEIGHT: 150%">&lt;portType&gt;</span></em><span style="LINE-HEIGHT: 150%">元素把</span><span style="LINE-HEIGHT: 150%"> &quot;<strong>glossaryTerms</strong>&quot; </span><span style="LINE-HEIGHT: 150%">定义为某个<em><span style="FONT-WEIGHT: normal">端口</span></em>的名称，把</span><span style="LINE-HEIGHT: 150%"> &quot;<strong>getTerm</strong>&quot; </span><span style="LINE-HEIGHT: 150%">定义为某个<em><span style="FONT-WEIGHT: normal">操作</span></em>的名称。操作</span><span style="LINE-HEIGHT: 150%"> &quot;<strong>getTerm</strong>&quot; </span><span style="LINE-HEIGHT: 150%">拥有一个名为</span><span style="LINE-HEIGHT: 150%">&nbsp;&nbsp;&nbsp; </span><span style="LINE-HEIGHT: 150%">&ldquo;</span><strong><span style="LINE-HEIGHT: 150%">getTermRequest</span></strong><span style="LINE-HEIGHT: 150%">&rdquo;</span><span style="LINE-HEIGHT: 150%">的<em><span style="FONT-WEIGHT: normal">输入消息</span></em>，以及一个名为</span><span style="LINE-HEIGHT: 150%"> <strong>&quot;getTermResponse&quot;</strong> </span><span style="LINE-HEIGHT: 150%">的<em><span style="FONT-WEIGHT: normal">输出消息</span></em>。</span></div><div style="TEXT-INDENT: 24pt"><em><span style="FONT-WEIGHT: normal; LINE-HEIGHT: 150%">&lt;message&gt;</span></em><span style="LINE-HEIGHT: 150%">元素可定义每个消息的<em><span style="FONT-WEIGHT: normal">部件</span></em>，以及相关联的数据类型。</span></div><div style="TEXT-INDENT: 24pt"><span style="LINE-HEIGHT: 150%">对比传统的编程，</span><span style="LINE-HEIGHT: 150%">glossaryTerms </span><span style="LINE-HEIGHT: 150%">是一个函数库，而</span><span style="LINE-HEIGHT: 150%"> &quot;getTerm&quot; </span><span style="LINE-HEIGHT: 150%">是带有输入参数</span><span style="LINE-HEIGHT: 150%"> &quot;getTermRequest&quot; </span><span style="LINE-HEIGHT: 150%">和返回参数</span><span style="LINE-HEIGHT: 150%"> getTermResponse </span><span style="LINE-HEIGHT: 150%">的一个函数。</span></div><div>&nbsp;</div><div><strong><font size="3"><span>2.3.</span>bind元素</font></strong></div><div></div><div>&lt;binding type=&quot;glossaryTerms&quot; name=&quot;b1&quot;&gt;</div><div>&lt;soap:binding style=&quot;document&quot; transport=&quot;http://schemas.xmlsoap.org/soap/http&quot; /&gt;</div><div>&nbsp;&lt;operation&gt;</div><div><span>&nbsp;&nbsp;&nbsp; &lt;soap:operation</span><span>&nbsp; soapAction=&quot;http://example.com/getTerm&quot;/&gt;</span></div><div><span>&nbsp;&nbsp;&nbsp; &lt;input&gt;</span></div><div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:body use=&quot;literal&quot;/&gt;</span></div><div><span>&nbsp;&nbsp;&nbsp; &lt;/input&gt;</span></div><div><span>&nbsp;&nbsp;&nbsp; &lt;output&gt;</span></div><div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:body use=&quot;literal&quot;/&gt;</span></div><div><span>&nbsp;&nbsp;&nbsp; &lt;/output&gt;</span></div><div>&nbsp;&lt;/operation&gt;</div><div>&lt;/binding&gt;</div><div>&nbsp;</div><div style="TEXT-INDENT: 24.1pt"><em><span style="LINE-HEIGHT: 150%">binding</span></em><span style="LINE-HEIGHT: 150%">元素有两个属性</span><span style="LINE-HEIGHT: 150%"> name </span><span style="LINE-HEIGHT: 150%">属性和</span><span style="LINE-HEIGHT: 150%"> type </span><span style="LINE-HEIGHT: 150%">属性。</span><span style="LINE-HEIGHT: 150%">name</span><span style="LINE-HEIGHT: 150%">属性定义</span><span style="LINE-HEIGHT: 150%">binding</span><span style="LINE-HEIGHT: 150%">的名称，而</span><span style="LINE-HEIGHT: 150%"> type </span><span style="LINE-HEIGHT: 150%">属性引用</span><span style="LINE-HEIGHT: 150%">portType</span><span style="LINE-HEIGHT: 150%">，在这个例子中是</span><span style="LINE-HEIGHT: 150%"> &quot;glossaryTerms&quot; </span><span style="LINE-HEIGHT: 150%">端口。</span></div><div style="TEXT-INDENT: 24.1pt"><em><span style="LINE-HEIGHT: 150%">soap:binding</span></em> 元素有两个属性 style 属性和 transport 属性。<strong>style</strong> 属性可取值 &quot;rpc&quot; 或 &quot;document&quot;。在这个例子中我们使用 document。transport 属性定义了要使用的 SOAP 协议。在这个例子中我们使用 HTTP。</div><em><span style="FONT-SIZE: 10.5pt">operation</span></em><span style="FONT-SIZE: 10.5pt">元素定义了每个端口提供的操作符。对于每个操作，相应的</span><span style="FONT-SIZE: 10.5pt"> SOAP </span><span style="FONT-SIZE: 10.5pt">行为都需要被定义。同时您必须如何对输入和输出进行编码（</span><span style="FONT-SIZE: 10.5pt">use</span><span style="FONT-SIZE: 10.5pt">属性）。在这个例子中我们使用了</span><span style="FONT-SIZE: 10.5pt"> &quot;literal&quot;</span><span style="FONT-SIZE: 10.5pt">。</span>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/172893#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 14 Mar 2008 17:31:00 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/172893</link>
        <guid>http://softstone.javaeye.com/blog/172893</guid>
      </item>
      <item>
        <title>喋喋不休困扰 REST 的两大问题</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/172383" style="color:red;">http://softstone.javaeye.com/blog/172383</a>&nbsp;
          发表时间: 2008年03月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>　　REST 是好东西，但受到两个问题的拖累。</p><p><a href="http://dev2dev.bea.com.cn/blog/tigersoa/uploadfiles/2008/03/14/485.jpg" target="_blank"><img src="http://dev2dev.bea.com.cn/blog/tigersoa/uploadfiles/2008/03/14/485.jpg" border="0" align="left" alt="" /></a></p><p align="right">　　之前已经写过一些对 REST 的简介和看法。不久前恰好又在中文版的 infoQ 网站上看到一篇刚翻译成中文的文章，发现一些问题，于是又把整个 REST vs. SOAP 的论战再仔细看过一遍，刀光剑影，娱乐性十足。好消息是，最近这几个月，比较耸动或炒作性的 REST 话题似乎开始从网站、杂志头版消失。就来回顾和总结一下，事情其实很简单，REST 是被两个问题给害了。</p><p>　　一是对 REST 技术本质的混淆，许多实现方式，号称是 REST，但其实不够格。这个比较容易解决。举例而言，infoQ 中文站今年一月刚发布<a href="http://www.infoq.com/cn/articles/REST-INTEROP" target="_blank">一篇</a>翻译自<a href="http://www.infoq.com/articles/REST-INTEROP " target="_blank">这篇 2006 年 5 月的文章</a>（不推荐）。但不幸的是，作者选择将 POX (Plain Old XML) over HTTP 的实现方式，冠上 REST 和 RESTful 的封号。但看看作者天气查询的例子，最讽刺的是，如果看它采用的 XML 输入、输出格式，和用 HTTP POST 的交互方式，活像是个 SOAP-based 的 Web services － 只差没用 SOAP 信封格式将输入、输出文件包装起来。至于该 Web services 采用诸如 http://x.com/weather/WeatherQuery/2.0</p><p>　　这种统一 end-point URI 网址的设计，更是犯了 REST 的大忌。真正合格的 REST 设计，就拿相同的天气查询做例子，服务调用（消费）端应该可以直接 GET 一个像</p><p>　　http://x.com/weather/city/chicago</p><p>　　或</p><p>　　http://x.com/weather/zip/60661</p><p>　　这样的独特网址，无需另外将参数透过输入文件，就能够获取查询结果。</p><p>　　我们真正需要的，是更多像 Stefan Tilkov 这篇正视听的 REST <a href="http://www.infoq.com/articles/rest-introduction " target="_blank">教学</a>（中文版：<a href="http://www.infoq.com/cn/articles/rest-introduction" target="_blank">深入浅出REST</a>）。另外，我发现 <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer#REST_versus_RPC" target="_blank">Wikipedia 中对 REST 和 RPC 所作的比较</a>，也非常有帮助，能够让习惯 OO 的开发人员快速体认到 REST 的设计哲学。在另一篇 infoQ 的文章中（同样推荐，但没看到有中译），作者探讨 REST 的 URI 超链接设计原则，并指出连 Flickr 等大站的 REST API，都看得到关于这个原则的错误示范。</p><p>　　大量似是而非、自封为 REST/RESTful 范例的充斥，混淆了视听；令人担心的是，它们会引发&ldquo;POX+HTTP 是 REST，因此 POX+HTTP 自然具备了 REST 优势&rdquo; 的错误推论。</p><p>　　来看过去一年 REST 热潮的第二大问题。这个问题比较棘手。根源在于某些激进派选择以 REST 单挑 SOAP+WS-*，且带着汉贼不两立的互斥、排他心态，来宣扬 REST 理念，彼得雷西 (Pete Lacey) 是其中的急先锋。正因为对上了 SOAP，企业计算和 SOA 的课题也不免被扯了进来。在 consumer Web 2.0 领域中，用户量巨大，信息相对公开，往往不需要如企业领域做到很细微的安全控制，REST 式的 Web services，过去几年在效能方面发挥得很出色；此外，简单易用，让想开发 mashup 等复合式应用的广大开发人员，能快速上手。这些都是有目共睹的。但 REST 的成功，逻辑上无法直接引申成 SOAP 的失败。此外，REST 狂热者往往以 HTTP 正统自居，认为不遵循 REST 原则和风格，便是对 HTTP 的&ldquo;滥用&rdquo;，例如在《深入浅出REST》一文最后，作者就表达了这样的态度。一位网友 Alex Xu 评得好：</p><p>　　为什么要把REST跟SOAP对立起来？</p><p>　　JSP,ASP,PHP难道不也是对HTTP的&ldquo;滥用&rdquo;吗？（按照REST的原则）</p><p>　　电话线原本是给电话用的，但是后来人们用它来发传真，又用调制解调器上网，再后来ADSL，现在ADSL+.在这种途径上人们不断地挖掘潜力.为什么HTTP就不行呢？</p><p>　　但正因为抱持了基本对立的立场，彼得雷西在<a href="http://www.infoq.com/articles/pete-lacey-ws-criticism " target="_blank">这篇专访</a>中，几近全盘否定地，一一数落 SOAP、WSDL、UDDI、WS-*，甚至 XSD 的不是。过分膨胀的论点，自然也招来了许多反证。例如 Paul Fremantle 表示据他所知，eBay 的 SOAP 服务每天要处理四千万的请求，而 Yahoo Mail 基本上也是基于 SOAP，而请求量也不会小。其他像是 SOA 专家 Steve Jones 驳斥了雷西关于解析 XSD 和 XML 文件格式弹性方面的抱怨。</p><p>　　事实上，将 REST 和 SOAP+WS-* 看作有非此即彼的替代性，不如把它们看作是互补，让负责实现 Web service 的开发人员自行选择实现的方式。SOA 的原则本来自当如此 -- 由业务分析师和 IT 架构师先识别出服务，以契约（合同）的方式加以规范，而服务契约应该是独立于任何技术平台或实现手段之上的。接着下来才是讨论绑定方式、服务接口设计，和实现手段。同样的一套业务逻辑代码，可以根据为满足契约的实际情况，以多种方式封装、绑定。契约、接口、代码实现，乃至于团队分工方式，都应该是松耦合的。</p><p>　　正如 Steve Jones 在多篇批判 REST 的博客中指出，更重要的是 IT 要如何更紧密地配合业务的变化，更快地去实现业务能力，这是 SOA 自始至终的目标。至于如何将一个文件从甲地运送到乙地，方式很多，REST 只不过是 SOAP、REST、JMS、RMI、MQ... 等众多选择之一而已，不该本末倒置。</p><p>　　SOAP、WSDL 和几个主要的 WS-* 标准，多年发展下来，厂商和工具支持已相对成熟。REST 虽然在先天结构上较为简单，但就像彼得雷西自己在<a href="http://atmanes.blogspot.com/2006/06/flash-of-enlightenment-in-soap-vs-rest.html " target="_blank">这篇博客</a>回应中举的例子，选择 REST 的开发人员必须评估，在工具、框架支持相对不成熟的情况下，coding 的代价高不高？另外我想到一个普遍的企业应用场景 -- 当有安全私密性要求时，REST 应用可以很轻易地搭配 SSL/TLS。但内容一旦加密，许多被 REST 支持者津津乐道，包括能直接利用 Web 现有缓存机制的高伸缩性，便不复存在。有时候，甚至在内容没有必要加密时，因为必须根据用户身份权限对内容做过滤、个性化，此时如果采用 REST 和 HTTP GET，还必须确定告诉客户端和服务器之间所有行经的 Web 基础设施不许缓存，以免内容让不该看的人看到（不同于过去清一色 HTTP POST 的请求回应，默认的行为本来就不会缓存，许多开发人员早已视为理所当然）。在这类情况下，其他剩下来的 REST 优势（如简易），是否仍超越采用其他的技术手段？是企业开发人员必须面对的。</p><p>　　有的科技大厂眼见 consumer Web 2.0 地盘长期以来被 LAMP 和 PHP、Ruby、JavaScript、Python 等占据，除了实验性地扶植 Groovy、Grails 之类外，现在冒出了这群 REST 激进派信徒，制造出非常戏剧性的冲突，大火既已点燃，岂可不好好利用一下 － 管他是否过分炒作或自我膨胀，先趁势而上，运用市场机器，加入炒作行列；同时推出一些支持 REST 的理论架构、开发框架、规范、或工具，借机让 Java 和 C# 的影响力能扩大到 Web 2.0 领域（包括消费和企业 Web 2.0）。我感觉这是厂商宣布对 REST 大力支持背后的主要动机（之一）。</p><p>　　图片来源：<a href="http://bblfish.net/blog/page1.html" target="_blank">bblfish.net/blog/page1.html</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/172383#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 14 Mar 2008 16:22:00 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/172383</link>
        <guid>http://softstone.javaeye.com/blog/172383</guid>
      </item>
      <item>
        <title>微软发布SQL Server 2008和Visual Studio 2008开发平台</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/171575" style="color:red;">http://softstone.javaeye.com/blog/171575</a>&nbsp;
          发表时间: 2008年03月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>昨天微软在北京举办题为&ldquo;<a href="http://go.microsoft.com/?linkid=8132828">英雄由此诞生&mdash;&mdash;微软2008新一代企业级应用平台与开发技术发布大会</a>&rdquo;，在会上面向中国技术社区发布了其最新的操作系统Windows Server 2008、数据库服务器SQL Server 2008和开发工具Visual Studio 2008，并介绍了这些产品的新特性。</p><p>虚拟化技术正在受到越来越多的重视，最近包括BEA、微软在内的厂商频频出手，先是<a href="http://redmondmag.com/news/article.asp?EditorialsID=9622">BEA宣布和VMWare合作</a>，在VMWare的工具里提供对BEA公司Java应用的支持，而后<a href="http://server.51cto.com/art/200803/67151.htm">微软收购能帮助企业管理虚拟机的Kidaro公司</a>。在IBM面向开发人员的内容网站developerWorks上也多有对<a href="http://www.ibm.com/developerworks/cn/aix/lp/virtualinp/">虚拟化主题的介绍</a>。在这次发布的Windows Server 2008中，微软显然也加强了<a href="http://www.zbroad.cn/post/67.html">对虚拟化的支持</a>：</p><blockquote>1.针对Web而建。内置的Web和虚拟化技术，可助您增强服务器基础结构的可靠性和灵活性。主要包括Internet Information Services 7.0 ，IIS 7和.NET Framework 3.0等。 <br /><br />2. 虚拟化技术。借助Terminal Services Gateway和Terminal Services RemoteApp，可以轻松进行远程访问并与本地桌面应用程序进行集成，还可实现在无需VPN的情况下，安全无缝地部署应用程序。 </blockquote><p>在SQL Server方面，现在的SQL Server 2008已经不单纯是一个数据存储仓库，通过新增的功能逐渐演化成更加智能的数据平台。SQL Server 2008在设置和安装方面都做了大量的改进，将配置数据和引擎分开，从而使得创建基本的未配置系统的磁盘映像变成可能，将数据分布到多个服务器也变得更加容易。在微软<a href="resource://microsoft-platforms-press.pdf" _href="resource://microsoft-platforms-press.pdf">这次大会的新闻稿</a>中提到了更多SQL Server 2008新增的功能：</p><blockquote>Resource Governor管理并发工作负载；通过Policy-Based Management在企业范围内加强策略的兼容性；通过数据压缩以及稀疏列来降低存储需求并提升查询性能；在SQL Server Reporting Services中利用其提升的性能，高可用性，虚拟化技术与Microsoft Office 2007高度集成；通过对空间数据的支持，实现对地理信息软件的集成等。&hellip;&hellip; </blockquote><p>相对于Windows Server和SQL Server，开发工具Visual Studio一直是开发人员更为关注的对象。在这次的Visual Studio 2008版本中，开发团队引入了250多个新特性，整合了对象、关系型数据、XML的访问方式,语言更加简洁。 使用Visual Studio 2008可以更加高效地开发Windows应用。设计器中可以实时反映变更，XAML中智能感知功能可以提高开发效率。同时它支持项目模板、调试器和部署程序。另外由于集成了ASP.NET AJAX 1.0，包含ASP.NET AJAX项目模板，Visual Studio 2008还可以高效开发Web应用等。</p><p>&hellip;&hellip;</p><p><strong>阅读全文：</strong><a href="http://www.infoq.com/cn/news/2008/03/microsoft-platforms-launch">微软发布SQL Server 2008和Visual Studio 2008开发平台</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/171575#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 14 Mar 2008 14:13:50 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/171575</link>
        <guid>http://softstone.javaeye.com/blog/171575</guid>
      </item>
      <item>
        <title>商业不是战争</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/172395" style="color:red;">http://softstone.javaeye.com/blog/172395</a>&nbsp;
          发表时间: 2008年03月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我在一个大客户那里工作的时候经常想这样一件事，他们（以及国内很多&mdash;&mdash;IT或者非IT&mdash;&mdash;企业）讲军事化管理，讲服从命令，为什么我总觉得这事不对？到底不对在什么地方？我想出来的结论是：商业不是战争。<br /><div class="ArwC7c ckChnd" id="1emh"> <br /> 第一，商业的特点是negotiatable。战争是什么<wbr></wbr>？按照我们直观的印象，战争就是我必须9点钟之前拿下125高地<wbr></wbr>，否则我背后就有1000人要送命，这是没有价钱可讲的<wbr></wbr>。商业不是。即使一个产品达不到100%的预期，它达到80<wbr></wbr>%仍然有价值。（当然从更高的层面来说战争也是negotiat<wbr></wbr>able的，这就先不延伸讨论了。）<br /> <br /> 第二，现代的战争已经变了，不是我们从爱国主义电影里看到的那样<wbr></wbr>了。现代的战争更像什么？大家还记得《变形金刚》里那几个美国大<wbr></wbr>兵怎么对付机器蝎子的吗？现代战争是精英的战争，每个士兵都有很<wbr></wbr>充分的信息和很大的决策权，可以根据全面的信息作出当前最合理的<wbr></wbr>决策，并且just in time地调度他需要的资源支持他的决策。你可以说这是因为对个<wbr></wbr>人价值的重视云云，但这些都是扯淡，最根本的原因是经济<wbr></wbr>。因为信息技术的提升，让这种just in time的方式成为非常经济的做法。大家可以想象一下，如果按照<wbr></wbr>&quot;传统的&quot;方式，那要么那几个美国大兵白白送命，要么就得提前调<wbr></wbr>度半支波斯湾舰队来准备，怎么都不如电影里这种方式来得经济。<br /> <br /> 结论：商业是negotiatable的，并且现代信息技术允许<wbr></wbr>每个最基本的战斗/工作单元具备更大的决策权，因此最经济的做法<wbr></wbr>是使用有头脑的人并充分调动每个人的主观能动性而不是采取传统的<wbr></wbr>命令-服从体系。认识不到这一点或者不情愿这样去做<wbr></wbr>，就注定了这样的组织里充斥着大量的浪费。<br /> </div>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/172395#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 14 Mar 2008 09:48:39 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/172395</link>
        <guid>http://softstone.javaeye.com/blog/172395</guid>
      </item>
      <item>
        <title>回顾动态语言的2007——乱花渐欲迷人眼</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/171576" style="color:red;">http://softstone.javaeye.com/blog/171576</a>&nbsp;
          发表时间: 2008年03月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>在去年这个时候，《程序员》&amp;CSDN的总编孟岩在展望2007年的动态语言发展时，发出感叹&ldquo;未来属于动态语言&rdquo;。未来这个词汇包含着无限的含义，2007年属于&ldquo;未来&rdquo;，5年后的2012年也属于&ldquo;未来&rdquo;，究竟动态语言什么时候能够占据统治地位，目前来看还是个未知数，但同时我们可以感知的是：在动态语言领域，现在的形势是&mdash;&mdash;乱花渐欲迷人眼。</p><p>如果说我们回望不久的以前，比如5年前，我想很多人会大发感慨，那是一个多么简单和纯洁的静态语言年代啊，要么站立在Java平台上独孤求败，要么奔赴.NET战场挑选一下微软提供的C#、VB等兵器，&ldquo;非此即彼&rdquo;。可是现在，时代变了，语言多了，诱惑多了，眼睛也花了。如果说按照对动态语言的一个不完整定义，&ldquo;所谓&lsquo;动态语言&rsquo;，也叫脚本语言，就是说一种在执行期间才去发现数据类型的程序设计语言，主要创建一些需要经常更新的动态系统。&rdquo;，我们可以列举出的动态语言如ActionScript、Erlang、Groovy、JavaScript、Lua、Perl、PHP、Python、Ruby、Scala等，这还不包括运行于Java和.NET平台上这些语言的变种。</p><p>在短短的一篇文章中，我们很难将每一个语言都介绍清楚，这也不是我们的目的。本文主要是选择几个重点的语言，从社区、厂商和工具等方面的支持方面回顾一下在过去的一段时间，这些语言的发展和变化，并最后做一简单展望。</p><h2>Python：2007年度程序语言</h2><p>一直关注语言流行度变化的网站TIOBE宣布将Python列为2007年度程序语言，入选理由为：在过去的一年里，Python的占有率上升了2.04%，在2007年12月份更是历史性地首次超过Perl，位列最受欢迎的程序语言第6位。虽然任何数据都不是那么准确，但是多少可以看出，Python正在赢得越来越多开发人员的喜爱，尤其是系统管理员和项目构建工程师等。有理由推断在2008年Python 3000发布后，Python的受欢迎程度会继续升温。&ldquo;背靠大树好乘凉&rdquo;，窃以为可以用这句话来形容Python的发展。Python的创始人兼主力开发人员Guido在2005年进入了Google公司，而Google给他的任务也非常简单，就是用Python语言开发一些为Google程序员所使用的工具，以提高他们的工作效率。更有意思的是，Google还说，Guido只需要用一半的时间来做这件事就可以了，另一半时间可以专心开发他的Python语言。虽然我们不能武断推测，衣食无忧后的Guido让Python有了更大的发展，但TIOBE的数据显示字2005年，Python语言的被采用率持续上升。不过美中不足的是社区在工具方面对Python的支持，也许是Python过于灵活或者简单，只有少数高人才能掌握，所以高人们也多用最初级的文本来编写Python代码，目前IDE方面除了Eclipse上的PyDev，少见其他主流IDE对Python的支持。</p><h2>Ruby：宝石继续发光</h2><p>因为Rails，Ruby声名鹊起，但事实证明，Ruby没有辜负Rails的介绍。有消息称现在硅谷有近80%的项目是基于Ruby语言的，而国内的一些新兴网站比如圈内网、技能云，包括技术社区JavaEye等也都采用了Ruby on Rails技术。在社区支持方面，这两年关于Ruby的讨论从来就没有消停过，比如Oreily、InfoQ、IBM developerWorks等知名技术媒体专门开设了Ruby专区，而Rubyforge上也多有新的项目发布。Sun公司自从和JRuby团队结缘以来，持续加大投入，在2007年5月份推出了JRuby 1.0，微软在MIX 07大会上也宣布了在.NET CLR之上的Ruby实现&mdash;&mdash;IronRuby。在开发工具方面，Ruby领域也有了很大的进步，在第18届Jolt生产力大奖的Web开发工具提名方面，和Ruby相关的就有三个入选，如3rdRail、IntelliJ IDEA和NetBeans等，尤其是NetBeans在2007年12月份发布了6.0版本，提供了对Ruby和ActiveRecord代码自动完成等功能。另外由ThoughtWorks开发的方便部署的工具RubyWorks也吸引了社区的关注，被称为&ldquo;最接近一步到位的Rails生产环境部署&rdquo;。</p><h2>PHP：宝刀未老</h2><p>PHP现在绝对是一个香饽饽，那些曾经以为使用PHP很不上档次的人现在可以昂首挺胸大步前进了。抛开成熟的社区支持不说，单是在厂商的支持上，2007年的PHP就很值得大书一笔。在2007年的LinuxWorld大会上，PHP背后的Zend公司和IBM宣布为IBM定制的Zend Core和DB2将建立更深入的合作，让企业可以跨各种硬件和操作系统来部署PHP和DB2，并活动来自这两家公司的专业支持。而从前一直视PHP为竞争对手的微软，现在也&ldquo;降低身段&rdquo;开始接纳PHP了，在2007年11月份微软表示将加强在IIS 7版本中对PHP的支持，并发布了专为PHP准备的SQL Server数据库驱动程序。在工具支持上PHP方面的一个亮点是CodeGear公司发布的Delphi for PHP，相信会吸引那些习惯于Delphi平台却又需要开发Web应用的人群。</p><h2>Groovy：据说是和Java最像的语言</h2><p>那些坚信Groovy是目前为止最有发展潜力的动态语言的人们，常会提到Groovy的两点优势：一是Groovy正在标准化，二是Groovy和Java语法完全兼容。也许正是这两点保证了Groovy的稳步发展，当然我们还可以列出其他Groovy的种种优点。对Groovy本身而言，2007年9月份1.5版本的发布算是一个大事情，不仅增强了对Java 5特征的支持，在动态特性上也有了革新的进步。在2007年德国最重要的Java会议JAX上，Groovy赢得当年最具创造性的项目大奖，从前Spring框架也曾获得过这个奖项。在开发工具方面，除了Eclipse对Groovy的支持外，2007年7月份NetBeans启动对Groovy的支持，而12月份发布的IntelliJ IDEA 7中也宣称对Groovy和Grails（基于Groovy的一个Web框架）提供支持。但是Martin Fowler在他最近发布的一篇文章中对Groovy的未来发展有所担忧，原因是Groovy的社区支持还不够成熟。 </p><h2>JavaScript：借风而起</h2><p>具体的历史不需要考证，在很多软件开发人员的印象中，使用JavaScript的是不能进入&ldquo;一等公民&rdquo;之列的。其原因就在于这一语言入门门槛实在太低，连没有正式学过几天编程的人都能够稍加培训就能用其开发网站，这让那些使用&ldquo;高级语言&rdquo;工作的人颇为不屑。可是撞大运也好，咸鱼大翻身也好，Ajax的出现让JavaScript从&ldquo;寻常百姓家&rdquo;堂而皇之地飞入&ldquo;贵族&rdquo;之地。更有Ajax方面的专家Stuart Halloway表示说&ldquo;到2011年，JavaScript将被公认为是一种拥有开发现代应用程序所需的一整套新特性语言，而且JavaScript程序要比类似的Java程序紧密十倍。&rdquo;JavaScript目前在TIOBE的最流行语言中排名第十，如果将Ajax的出现带给JavaScript的突变忽略的话，JavaScript这几年的发展倒也是波澜不惊。但是2007年围绕JavaScript的升级引起了不同阵营之间的激烈讨论，是不是要升级，升级到什么程度，这是一个问题。随着IE浏览器和Firefox浏览器在市场份额上占有率差距逐渐缩小，相信关于JavaScript标准最新版本ECMAScript 4的争论还将继续持续下去。最后值得一提的是作为JavaScript的变种，ActionScript在Adobe的推动下越来越得到技术开发社区的认可。</p><h2>其他语言</h2><p>对于脱离不开JVM而又想避免Java复杂的语句的开发人员而言，Scala和Groovy的差别并不大，而且Scala可能较Groovy还更胜一筹，据测试Scala的性能要远高于Groovy。但学术思想浓厚的Scala要想击败能和Java无缝衔接的Groovy，显然还有待时日。与很多动态语言一样，Erlang同样也属于&ldquo;厚积薄发&rdquo;型，其鼻祖Prolog在20年前就为人所用，现在已经成为开发并发系统的首选语言且为像ThoughtWorks等软件公司的青睐，但是市面上关于Erlang的书籍和教材还较少，这也是限制其发展的一个因素。</p><p>如果没有记错的话，Perl团队在2000年就宣布开始了Perl 6的开发工作，时至今日已是7年有余，虽然并不是说一定要有一个6.0版本，而是说更新一个版本需要如此长的时间，不知道什么样的铁杆Fans才有如此耐心？如前文所述，本文所没有提到的动态语言还有很多，这儿不再一一列举，感兴趣的读者可以通过这些语言的官方网站了解详情。</p><h2>总结和展望</h2><p>开发社区从来不缺少创意，这也是语言世界不断繁荣的原因之一，每个语言都有自己的独特之处，但真要形成气候，绝不是一人之力就能够完成的事情，如Ruby，其实从它的诞生到如今的人气飙升，它并没有改变什么，如果不是Rails框架的出现，我想现在Ruby如其他众多昙花一现的动态语言一样，少人问津。以上我们所提到的语言，并不是说它们一定要比其他语言强悍多少，而是因为它们幸运地获得了社区和厂商的支持。</p><p>不管怎样，动态语言正在被更多的人所接受和使用，在CSDN所做的2007年读者大调查中，动态语言在开发人群中的受关注程度竟然达到12%。而在TIOBE的排名中，如果加上越来越动态的Java和c#，动态语言竟然占有了前十名中的六个席位（包括PHP、Python、Perl和JavaScript等）。虽然有那么一点选项稍多的忧虑，虽然有那么一点乱花渐迷眼的趋势，但再次借用去年孟岩先生对动态语言发展的预测，我们认为&ldquo;未来属于动态语言&rdquo;是有根据的！</p><strong>原文发表于《程序员》杂志2008年第2期</strong>
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/171576#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 07 Mar 2008 14:13:17 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/171576</link>
        <guid>http://softstone.javaeye.com/blog/171576</guid>
      </item>
      <item>
        <title>Announcement: Fluorida 0.0.1</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/172396" style="color:red;">http://softstone.javaeye.com/blog/172396</a>&nbsp;
          发表时间: 2008年03月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="entrybody"><p>I'm glad to announce that <a href="http://code.google.com/p/fluorida/" target="_blank">Fluorida</a> 0.0.1 (the first preview release) is out. The project homepage is <a href="http://fluorida.googlecode.com/" target="_blank">http://fluorida.googlecode.com</a></p><p>Fluorida is a Flex/Flash functional testing tool. It manipulates Flash just as real users do. It allows testers write test cases with simple but still expressive DSL. What makes Fluorida different is that it doesn't rely on <tt>mx.automation</tt> package, which is only available in <a href="http://www.adobe.com/products/flex/features/flex_builder/" target="_blank">Flex Builder Professional Edition</a>. Other functional testing tools such as HP QuickTest Professional (formerly Mercury QuickTest Professional) and <a href="http://funfx.rubyforge.org/" target="_blank">FunFX</a> depend on <tt>mx.automation</tt> package but fortunately it seems like that dependency is not necessary to a Flex functional testing tool -- Fluorida is the evidence.</p><p>Version 0.0.1 is the first preview release. The main purpose is to gather feedbacks from the community. So far Fluorida has a basic &quot;Tester&quot; UI and it runs both locally and in web environment. It supports some fundamental actions. Check out the <a href="http://fluorida.thoughtworkers.org/tester/open?suite=default.fls" target="_blank">online demo</a> and <a href="http://code.google.com/p/fluorida/wiki/GettingStarted" target="_blank">get started here</a>.</p><p>What's next? It really depends on the feedback. We have a couple of things remaining on our <a href="http://code.google.com/p/fluorida/source/browse/trunk/TODO" target="_blank">TODO list</a>, however the future direction is largely undecided yet. We are willing to see how people use it and figure out what to do in following releases. Therefore, your suggestion and feedback would be highly appreciated. </p></div>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/172396#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 06 Mar 2008 19:57:22 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/172396</link>
        <guid>http://softstone.javaeye.com/blog/172396</guid>
      </item>
      <item>
        <title>手机操作系统及开放性（扫盲笔记）</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/172894" style="color:red;">http://softstone.javaeye.com/blog/172894</a>&nbsp;
          发表时间: 2008年03月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>此处只讨论智能手机的操作系统，不讨论普通手机、拍照手机等。</p><p>一、常见只能手机操作系统</p><p>1、Symbian<br />&nbsp;2、Windows Mobile<br />3、Linux<br />4、Mac OS（iPhone）<br />5、BlackBerry<br />6、Palm OS</p><p>其中Symbian，Windows Mobile，Linux算是&ldquo;开放&rdquo;的操作系统，其他厂家也可以使用，不像Mac OS，只能用于苹果。Palm OS主要用于PDA，在手机上应用于Palm Treo智能手机。</p><p>二、开放性</p><p>Symbian和Windows Mobile包含了完整的操作系统和开发环境，提供有通用的API和SDK，属于真正意义上的开放平台，第三方软件厂商可以针对这两种平台开发应用软件，而Linux虽然内核是开放的，但却没有统一的应用开发平台，各厂商各自为政，互不兼容，不属于开放平台。</p><p>三、市场占有率情况</p><p>调研机构Canalys提供的数据显示，在去年全球发货的智能手机中：<br />Linux的份额低于6%<br />Symbian系统占67%<br />微软的软件占14%<br />RIM占7%（BlackBerry）</p><p>四、Linux发展情况</p><p>为基于Linux提供一个真正开放的手机软件平台，成立有多家Linux联盟，常见的有OHA（开放手机联盟），&nbsp;LiMo &nbsp;Foundation，LiPS（<span lang="EN-US" style="FONT-SIZE: 18pt; LINE-HEIGHT: 150%"><font size="2">Linux Phone Standards&nbsp; Forum</font> </span>）。</p><p>其中OHA由Google主导发起，提供免费、开放的Android平台，其样机已经在08年2月份的巴塞罗那亮相。</p><p>LiMo由&nbsp; 摩托罗拉 (Motorola)、NEC、NTT DoCoMo、松下移动通信株式会社 (Panasonic Mobile Communications)、三星电子 (Samsung Electronics) 以及沃达丰 (Vodafone)在2007年发起成立，为联盟成员提供LiMo Platform，其Release1与2008年3月份推出，SDK将与2008年下半年推出。已经公开了7家厂商的18种产品。</p><p>LiPS不提供开放平台，只从事规范及标准制定，各生产厂家可统一规格下发展各自不同平台，在2007年12月份已经发布了第一版手机Linux标准。</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/172894#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 05 Mar 2008 18:21:00 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/172894</link>
        <guid>http://softstone.javaeye.com/blog/172894</guid>
      </item>
      <item>
        <title>中国技术社区活动日历表发布啦</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/171577" style="color:red;">http://softstone.javaeye.com/blog/171577</a>&nbsp;
          发表时间: 2008年03月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&ldquo;<a href="http://upcoming.yahoo.com/group/3995/">中国技术社区活动日历表</a>&rdquo;是一个关于国内技术活动的公告栏，由<a href="http://www.infoq.com/cn">InfoQ中文站</a>进行维护。从这个列表上，你可以浏览到近期举行的非盈利公开课、讨论组或者技术大会等信息。这一列表向非盈利组织和商业团体免费开放，只要是对读者有价值的技术活动信息都欢迎添加。</p><p>不能及时获得社区中举办的活动信息是很多开发人员苦恼的一个问题。对于技术厂商来说也是如此，在安排活动时稍有不慎就会和其他类似技术活动撞车。&ldquo;<a href="http://upcoming.yahoo.com/group/3995/">中国技术社区活动日历表</a>&rdquo;的初衷就是为了解决上述两个问题，给国内技术社区带来一些方便。</p><table height="206" width="492">    <tbody>        <tr class="header">            <td style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1"><strong>日期</strong></font> </td>            <td style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1"><strong>活动</strong></font> </td>            <td style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1"><strong>城市</strong></font> </td>        </tr>        <tr style="BORDER-LEFT: rgb(153,153,153) 2px solid">            <td class="even"><font size="-1">3月4日</font></td>            <td class="even"><a href="http://upcoming.yahoo.com/event/448133/"><font size="1" color="#3a64c3">JBoss SOA 技术交流活动</font></a></td>            <td class="even"><font size="-1">北京</font></td>        </tr>        <tr>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1">3月4日&nbsp;</font></td>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><a href="http://upcoming.yahoo.com/event/448095/"><font size="1" color="#3a64c3">深入解析Adobe Flex 座谈会</font></a><font size="1"> </font></td>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1">北京</font></td>        </tr>        <tr>            <td class="even"><font size="-1">3月8日</font></td>            <td class="even"><a href="http://upcoming.yahoo.com/event/448122/"><font size="1" color="#3a64c3">2008亚洲开源软件高峰论坛暨软件展</font></a><font size="1"> </font></td>            <td class="even"><font size="-1">广州</font></td>        </tr>        <tr>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1">3月8日 </font></td>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><a href="http://upcoming.yahoo.com/event/448100/"><font size="1" color="#3a64c3">UMLChina训练&mdash;&mdash;2008年3月北京非盈利公开课</font></a><font size="1"> </font></td>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1">北京</font></td>        </tr>        <tr>            <td class="even"><font size="-1">3月11日 </font></td>            <td class="even"><a href="http://upcoming.yahoo.com/event/448129/"><font size="1" color="#3a64c3">BLUG线下活动：天目/Sky Eye 硬件模拟平台和KDE 4</font></a><font size="1"> </font></td>            <td class="even"><font size="-1">北京</font>&nbsp;</td>        </tr>        <tr>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1">3月13日</font></td>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><a href="http://upcoming.yahoo.com/event/448064/"><font size="1" color="#3b3b9b">微软2008新一代企业级应用平台与开发技术发布大会(北京)</font></a><font size="1"> </font></td>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1">北京</font>&nbsp;</td>        </tr>        <tr>            <td class="even"><font size="-1">3月18日 </font></td>            <td class="even"><a href="http://upcoming.yahoo.com/event/448091/"><font size="1" color="#3a64c3">微软2008新一代企业级应用平台与开发技术发布大会(上海)</font></a><font size="1"> </font></td>            <td class="even"><font size="-1">上海</font>&nbsp;</td>        </tr>        <tr>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1">3月25日</font></td>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><a href="http://upcoming.yahoo.com/event/448093/"><font size="1" color="#3b3b9b">微软2008新一代企业级应用平台与开发技术发布大会(广州)</font></a><font size="1"> </font></td>            <td class="odd" style="BACKGROUND-COLOR: rgb(204,255,255)"><font size="-1">广州</font>&nbsp;</td>        </tr>        <tr>            <td class="even"><font size="-1">3月29日&nbsp;</font></td>            <td class="even"><a href="http://upcoming.yahoo.com/event/448109/"><font size="1" color="#3b3b9b">2008第二届中国软件技术英雄会</font></a></td>            <td class="even"><font size="-1">北京</font></td>        </tr>    </tbody></table><p>目前这一列表中的活动信息还不充分，因为我们的信息来源也有限。所谓众人拾柴火焰高，我们希望有类似技术活动信息的朋友能登录<a href="http://upcoming.yahoo.com/">upcoming.com</a>，在&ldquo;<a href="http://upcoming.yahoo.com/group/3995/">中国技术社区活动日历表</a>&rdquo;中及时进行分享，InfoQ中文站会像这次一样定期发布关于这些活动的新闻。关于如何添加活动，在<a href="http://upcoming.yahoo.com/group/3995/">日历表首页部分</a>已经做了相应的说明。</p>Upcoming.com提供了很好的数据输出接口，你可以：<ul>    <li>使用<a href="http://upcoming.yahoo.com/syndicate/v2/group/3995/a9ed25f431">RSS订阅</a>&ldquo;中国技术社区活动日历表&rdquo; </li>    <li><a href="http://upcoming.yahoo.com/badge/">创建一段代码</a>，将此日历表发布到你的网页上，参见<a href="http://blog.csdn.net/futurelight">相关示例</a> </li></ul>
          <br/>
          <span style="color:red;">
            <a href="http://softstone.javaeye.com/blog/171577#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 05 Mar 2008 14:35:00 +0800</pubDate>
        <link>http://softstone.javaeye.com/blog/171577</link>
        <guid>http://softstone.javaeye.com/blog/171577</guid>
      </item>
      <item>
        <title>对遗留系统组织重构项目</title>
        <author>softstone</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://softstone.javaeye.com">softstone</a>&nbsp;
          链接：<a href="http://softstone.javaeye.com/blog/172397" style="color:red;">http://softstone.javaeye.com/blog/172397</a>&nbsp;
          发表时间: 2008年02月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p style="margin-top: 0.17in; margin-bottom: 0.17in;"><font face="宋体, SimSun"><font size="2"><span lang="zh-CN">很多</span></font></font><font face="Arial, sans-serif"><font size="2">IT</font></font><font face="宋体, SimSun"><font size="2"><span lang="zh-CN">组织都面临一个难题：老系统的维护、升级越来越难做。特别是那些价值高、生命周期长、规模大的核心业务系统，越到后来，要修复一个缺陷或者新增一个功能就需要越大的工作量。这是为什么呢？</span></font></font></p><p style="margin-top: 0.17in; margin-bottom: 0.17in;"><font face="宋体, SimSun"><font size="2"><span lang="zh-CN">软 件的质量体现在两方面：商业方面的质量，以及技术方面的质量。从商业的角度看来，&ldquo;成功的软件&rdquo;意味着它所创造的价值超出在它身上付出的代价。从技术的角 度看来，&ldquo;成功的软件&rdquo;意味着所有测试都通过、代码结构良好、并且容易理解和维护。很多商业上非常成功的软件系统忽视了技术方面的质量，所以尽管它们仍然 在为</span></font></font><font face="Arial, sans-serif"><font size="2">IT</font></font><font face="宋体, SimSun"><font size="2"><span lang="zh-CN">组织创造价值，但对它们的维护和升级越来越困难。最终技术质量的欠缺会反过来阻碍软件系统创造更大的商业价值。</span></font></font></p><p style="margin-top: 0.17in; margin-bottom: 0.17in;"><font face="宋体, SimSun"><font size="2"><span lang="zh-CN">为了保留并最大化软件资产的价值，适应新的需求变更，老系统总会面对维护和升级。当维护和升级的困难达到一定程度时，很多</span></font></font><font face="Arial, sans-serif"><font size="2">IT</font></font><font face="宋体, SimSun"><font size="2"><span lang="zh-CN">组织就会决定投入一整块资源和时间来改善这些老系统的技术质量，以便将来的维护升级能顺利进行。这样的做法通常被称为&ldquo;重构项目&rdquo;。</span></font></font></p><p style="margin-top: 0.17in; margin-bottom: 0.17in;"><font face="宋体, SimSun"><font size="2"><span lang="zh-CN">根据我们的经验，很多重构项目在目标管理、任务划分和质量保证等方面存在比较严重的问题，