??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品chinese,国产+人+亚洲,久久免费黄色http://www.aygfsteel.com/freeman1984/category/38743.html STANDING ON THE SHOULDERS OF GIANTSzh-cnTue, 28 May 2013 00:37:08 GMTTue, 28 May 2013 00:37:08 GMT60我应该采用哪一U?WSDL 样式Q(转蝲Q?/title><link>http://www.aygfsteel.com/freeman1984/archive/2013/05/27/399821.html</link><dc:creator>疯狂</dc:creator><author>疯狂</author><pubDate>Mon, 27 May 2013 07:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/freeman1984/archive/2013/05/27/399821.html</guid><wfw:comment>http://www.aygfsteel.com/freeman1984/comments/399821.html</wfw:comment><comments>http://www.aygfsteel.com/freeman1984/archive/2013/05/27/399821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/freeman1984/comments/commentRss/399821.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/freeman1984/services/trackbacks/399821.html</trackback:ping><description><![CDATA[<p>转自IBM java dev<br />------------------<br />Web 服务是通过 WSDL 文档来描q的。WSDL l定描述了如何把服务l定到消息传递协议(特别?SOAP 消息传递协议)。WSDL SOAP l定可以?RPC 样式的绑定,也可以是文档样式的绑定。同PSOAP l定可以有编码的用法Q也可以有文字的用法。这l我们提供了四种样式/用法模型Q?/p> <ol><li>RPC/~码</li><li>RPC/文字</li><li>文档/~码</li><li>文档/文字</li></ol> <p>除了q些样式之外Q还有一U样式也很常见,它称为文?文字包装的样式,上q一U,在创?WSDL 文g时您有了五U绑定样式可以从中选择。您应该选择哪一U呢Q?/p> <p>对于本文的讨论,让我们从 <a >清单1</a>中的 Java Ҏ开始,q且对其应用 JAX-RPC Java-to-WSDL 规则 </p><a name="listing1"><strong>清单</strong> </a><a name="listing1"><strong>1. Java Ҏ</strong> </a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode">public void myMethod(int x); </pre></td></tr></tbody></table><br /> <p><a name="0"><span id="wmqeeuq" class="atitle">RPC/~码</span></a></p> <p>采用 <a >清单1</a>中的Ҏq且使用您喜Ƣ的 Java-to-WSDL 工具来运行它Q指定您惌它生?RPC/~码?WSDL。您最后应该得到如 <a >清单2</a>所C的 WSDL 片断?</p><a name="listing2"><strong>清单</strong> </a><a name="listing2"><strong>2. 用于 myMethod ?RPC/~码?WSDL</strong> </a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><message name="myMethodRequest"> <part name="x" type="xsd:int"/> </message> <message name="empty"/> <portType name="PT"> <operation name="myMethod"> <input message="myMethodRequest"/> <output message="empty"/> </operation> </portType> <binding .../> <!-- I won't bother with the details, just assume it's RPC/encoded. --> </pre></td></tr></tbody></table><br /> <p>现在?#8220;5”作ؓ参数 <code>x </code>的值来调用此方法。我们将发送一个与 <a >清单3</a>cM?SOAP 消息?</p><a name="listing3"><strong>清单</strong> </a><a name="listing3"><strong>3. 用于 myMethod ?RPC/~码?SOAP 消息</strong> </a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><soap:envelope> <soap:body> <myMethod> <x xsi:type="xsd:int">5</x> </myMethod> </soap:body> </soap:envelope> </pre></td></tr></tbody></table><br /> <div id="wmqeeuq" class="ibm-container ibm-alt-header dw-container-sidebar"> <h2>关于前缀和名U空间的注意事项</h2> <div id="wmqeeuq" class="ibm-container-body"> <p>Z单v见,在本文的大部?XML CZ中,我省略了名称I间和前~。不q,我还是用了数前缀Q您可以假定它们是用下列名称I间q行定义的?/p> <p> <ul><li>xmlns:xsd="http://www.w3.org/2001/XMLSchema"</li><li>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</li><li>xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"</li></ul> <p> </p></div></div> <p>对于q个 RPC/~码的示例中?WSDL ?SOAP 消息Q有许多需要注意的事项Q?/p> <p><a name="IDAGE2AC"><span id="wmqeeuq" class="smalltitle">优点</span></a></p> <ul><li>WSDL 基本辑ֈ了尽可能地简单易懂的要求?/li><li>操作名出现在消息中,q样接收者就可以很轻村֜把消息发送到Ҏ的实现?/li></ul> <p><a name="IDAQE2AC"><span id="wmqeeuq" class="smalltitle">~点</span></a></p> <ul><li>cd~码信息Q比?<code>xsi:type="xsd:int"</code> Q通常是降低吞吐量性能的开销?</li><li>您不能简单地验此消息的有效性,因ؓ只有 <code><x xsi:type="xsd:int">5</x></code> 行包含在 Schema 中定义的内容Q其余的 <code>soap:body</code> 内容都来?WSDL 定义?</li></ul> <p>有没有一U方法能够保留这些优点而消除其中的~点呢?或许有。让我们来看一?RPC/文字的样式?/p> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top"><a class="ibm-anchor-up-link" >回页?/a></p> <p><a name="1"><span id="wmqeeuq" class="atitle">RPC/文字</span></a></p> <p>用于我们的方法的 RPC/文字?WSDL 看v来与 RPC/~码?WSDL 几乎一P请参?<a >清单4</a>Q。只是绑定的用法?<em>~码</em>改ؓ <em>文字</em>。仅此而已?</p><a name="listing4"><strong>清单</strong> </a><br /><a name="N10123"><strong>4. 用于 myMethod ?RPC/文字?WSDL</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><message name="myMethodRequest"> <part name="x" type="xsd:int"/> </message> <message name="empty"/> <portType name="PT"> <operation name="myMethod"> <input message="myMethodRequest"/> <output message="empty"/> </operation> </portType> <binding .../> <!-- I won't bother with the details, just assume it's RPC/ <strong>literal</strong>. --> </pre></td></tr></tbody></table><br /> <p>RPC/文字?SOAP 消息又是怎样的呢Q请参见 <a >清单</a> <a >5</a>Q?q里的更改要多一炏V去掉了cd~码?</p><a name="listing5"><strong>清单</strong> </a><a name="listing5"><strong>5. </strong></a><a name="listing4"><strong>用于 myMethod ?/strong> </a><br /><a name="N10150"><strong>RPC/文字?SOAP 消息</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><soap:envelope> <soap:body> <myMethod> <x>5</x> </myMethod> </soap:body> </soap:envelope> </pre></td></tr></tbody></table><br /> <p>下面是这U方法的优点和缺点:</p> <p><a name="IDAXG2AC"><span id="wmqeeuq" class="smalltitle">优点</span></a></p> <ul><li>WSDL q是基本辑ֈ了尽可能地简单易懂的要求?/li><li>操作名仍然出现在消息中?/li><li>L了类型编码?/li></ul> <p><a name="IDACH2AC"><span id="wmqeeuq" class="smalltitle">~点</span></a></p> <ul><li>您仍然不能简单地验此消息的有效性,因ؓ只有 <code><x xsi:type="xsd:int">5</x></code> 行包含在 Schema 中定义的内容Q其余的 <code>soap:body</code> 内容都来?WSDL 定义?</li></ul> <p>文档样式如何呢?它们能够帮助克服q些困难吗?</p> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top"><a class="ibm-anchor-up-link" >回页?/a></p> <p><a name="2"><span id="wmqeeuq" class="atitle">文档</span></a></p> <p>我不知道有谁懂得q种Ҏ的真正含义。我也不知道q种Ҏ的Q何实现。它可能从 WSDL 的后l版本中消失。所以我们还是讨论别的吧?/p> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top"><a class="ibm-anchor-up-link" >回页?/a></p> <p><a name="3"><span id="wmqeeuq" class="atitle">文档</span></a></p> <p>文档/文字?WSDL ?RPC/文字?WSDL 作了一些更攏V它们之间的不同之处昄?<a >清单6</a>中?</p><br /><a name="N101AA"><strong>清单6. 用于 myMethod 的文?文字?WSDL</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"> <strong><types> <schema> <element name="xElement" type="xsd:int"/> </schema> </types></strong> <message name="myMethodRequest"> <part name="x" <strong>element="xElement"</strong>/> </message> <message name="empty"/> <portType name="PT"> <operation name="myMethod"> <input message="myMethodRequest"/> <output message="empty"/> </operation> </portType> <binding .../> <!-- I won't bother with the details, just assume it's <strong>document</strong>/literal. --> </pre></td></tr></tbody></table><br /> <p>而现在的 SOAP 应该?<a >清单</a> <a >7</a>所C: </p><br /><a name="N101C8"><strong>清单7. 用于 myMethod 的文?文字?SOAP 消息</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><soap:envelope> <soap:body> <xElement>5</xElement> </soap:body> </soap:envelope> </pre></td></tr></tbody></table><br /> <div id="wmqeeuq" class="ibm-container ibm-alt-header dw-container-sidebar"> <h2>关于消息l成部分的注意事?/h2> <div id="wmqeeuq" class="ibm-container-body"> <p>我本来可以只更改l定Q就像我?RPC/~码转到 RPC/所做的那样。它是合法?WSDL。然而,WS-I 基本概要QWS-I Basic ProfileQ(请参?<a >参考资?/a>Q规定文?文字的消息的l成部分引用元素而不是类型,所以我遵@?WS-IQƈ且此处用元素部分可以很好地把我们带到关于文?文字包装的样式的讨论Q?</p></div></div> <p>下面是这U方法的优点和缺点:</p> <p><a name="IDA1Z2AC"><span id="wmqeeuq" class="smalltitle">优点</span></a></p> <ul><li>没有~码信息</li><li>您可以在最后用M XML 验器验此消息的有效性?<code>soap:body</code> Q?<code><xElement>5</xElement></code> Q中每项内容都定义在 Schema 中?</li></ul> <p><a name="IDAO02AC"><span id="wmqeeuq" class="smalltitle">~点</span></a></p> <ul><li>WSDL 变得有些复杂。不q,q是一个非常小的缺点,因ؓ WSDL q没有打由人来d?/li><li>SOAP 消息中缺操作名。而如果没有操作名Q发送就可能比较困难Qƈ且有时变得不可能?/li></ul> <p>文档/文字的样式看hg只是重新安排?RPC/文字的模型的优点和缺炏V您可以验消息的有效性,但是您失M操作名。有没有一U方法可以改q这一点呢Q有的。它是文档/文字包装的样式?/p> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top"><a class="ibm-anchor-up-link" >回页?/a></p> <p><a name="N10218"><span id="wmqeeuq" class="atitle">文档</span></a></p> <p>在我说明文档/文字包装的样式的含义之前Q让我给您展C?<a >清单</a> <a >8</a>?<a >清单9</a>中的 WSDL ?SOAP 消息?</p><br /><a name="N1022D"><strong>清单8. 用于 myMethod 的文?文字包装?WSDL</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><types> <schema> <strong><element name="myMethod"/> <complexType> <sequence> <element name="x" type="xsd:int"/> </sequence> </complexType> </element></strong> </schema> </types> <message name="myMethodRequest"> <part name=" <strong>parameters</strong>" element=" <strong>myMethod</strong>"/> </message> <message name="empty"/> <portType name="PT"> <operation name="myMethod"> <input message="myMethodRequest"/> <output message="empty"/> </operation> </portType> <binding .../> <!-- I won't bother with the details, just assume it's document/literal. --> </pre></td></tr></tbody></table><br /> <p>WSDL Schema 现在把参数放在包装中Q请参见 <a >清单9</a>Q?</p><br /><a name="N10247"><strong>清单:9. 用于 myMethod 的文?文字包装?SOAP 消息</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><soap:envelope> <soap:body> <myMethod> <x>5</x> </myMethod> </soap:body> </soap:envelope></pre></td></tr></tbody></table><br /> <p>注意到此 SOAP 消息看v来非常类g RPC/文字?SOAP 消息。您可能会说Q它看v来与 RPC/文字?SOAP 消息是完全一LQ不q,q两U消息之间存在着微妙的区别。在 RPC/文字?SOAP 消息中, <code><soap:body></code> ?<code><myMethod></code> 子句是操作的名称。在文档/文字包装?SOAP 消息中, <code><myMethod></code> 子句是单个输入消息的l成部分引用的元素的名称。因此,包装的样式具有这L一个特征,输入元素的名UC操作的名U是相同的。此样式是把操作名放?SOAP 消息的一Uy妙方式?</p> <p>文档/文字包装的样式的特征有:</p> <ul><li>输入消息只有一个组成部分?/li><li>该部分就是一个元素?/li><li>该元素有与操作相同的名称?/li><li>该元素的复杂cd没有属性?/li></ul> <p>下面是这U方法的优点和缺点:</p> <p><a name="IDA522AC"><span id="wmqeeuq" class="smalltitle">优点</span></a></p> <ul><li>没有~码信息?/li><li>出现?soap:body 中的每项内容都是?Schema 定义的,所以您现在可以很容易地验此消息的有效性?/li><li>Ҏ名又出现?SOAP 消息中?/li></ul> <p><a name="IDAK32AC"><span id="wmqeeuq" class="smalltitle">~点</span></a></p> <ul><li>WSDL 甚至更复杂,但是q仍然是一个非常小的缺炏V?/li></ul> <p>如您所见,文档/文字包装的样式还是有一些缺点,不过与优ҎhQ它们都昑־无轻重?/p> <div id="wmqeeuq" class="ibm-container ibm-alt-header dw-container-sidebar"> <h2>RPC/文字包装的样?</h2> <div id="wmqeeuq" class="ibm-container-body"> <p>?WSDL 的角度来看,没有理由只是把把包装的样式和文档/文字l定联系在一赗它可以很容易地应用?RPC/文字l定。但是这样做是相当不明智的。SOAP 包含操作的一?<code>myMethod</code> 元素和元素名U的?<code>myMethod</code> 元素。另外,即它是一个合法的 WSDLQRPC/文字元素部分也不遵@ WS-I?</p></div></div> <p><a name="IDAG42AC"><span id="wmqeeuq" class="smalltitle">文档/文字的样式在哪里定义</span></a></p> <p><br />q种包装的样式来源于 Microsoft。没有定义这U样式的规范Q所以虽然这U样式是一个好的东西,但不q的是,Z?Microsoft 和其他公司的实现q行互操作,现在惟一的选择是Ҏ Microsoft WSDL 的输出来猜测它是如何工作的。文?文字包装的样式也实现?IBM WebSphere SDK for Web Services 中(请参?<a >参考资?/a>Q。在q个CZ中,样式是相当明昄Q但是也存在个别情况Q在q些情况中,׃~少定义而导致需要操作的适当事项不够特别清晰。我们希望看到的最理想的情况就是将来能有像 Web 服务互操作组l(Web Services Interoperability OrganizationQ这L独立团体来帮助对此进行稳定化和标准化?</p> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top"><a class="ibm-anchor-up-link" >回页?/a></p> <p><a name="N102C3"><span id="wmqeeuq" class="atitle">Z么不始终采用文档/文字包装的样?/span></a></p> <p>xQ本文已l给了您q样的一个印象,文档/文字包装的样式是最好的Ҏ。而实际的情况往往实如此。不q,仍然存在着一些情况,在这些情况下Q您最好是换一U别的样式?/p> <p><a name="IDA142AC"><span id="wmqeeuq" class="smalltitle">采用文档/文字非包装的样式的理?/span></a></p> <p><br />如果您已l重载了操作Q就不能采用文档/文字包装的样式?</p> <p>惌一下,除了我们一直在使用的方法之外,q有另一U方法,请参?<a >清单10</a>?</p><br /><a name="N102DE"><strong>清单10. 用于文档/文字包装的问题方?/strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode">public void myMethod(int x); <strong>public void myMethod(int x, String y);</strong> </pre></td></tr></tbody></table><br /> <div id="wmqeeuq" class="ibm-container ibm-alt-header dw-container-sidebar"> <h2>关于重蝲的操作的注意事项</h2> <div id="wmqeeuq" class="ibm-container-body"> <p>WSDL 的下一个版本可能将不允讔R载的操作?/p></div></div> <p>WSDL 允许重蝲的操作。但是当您添加包装的样式?WSDL Ӟ需要元素有与操作相同的名称Qƈ且在 XML 中不能有两个名称相同的元素。所以您必须采用文档/文字非包装的样式或某U?RPC 样式?/p> <p><a name="IDA252AC"><span id="wmqeeuq" class="smalltitle">采用 RPC/文字的样式的理由</span></a></p> <p><br />׃文档/文字非包装的样式没有提供操作名,所以在有些情况下,您将需要采用某U?RPC 样式。比如说 <a >清单11</a>中的一l方法?</p><br /><a name="N10309"><strong>清单11. 用于文档/文字非包装的样式的问题方?/strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode">public void myMethod(int x); public void myMethod(int x, String y); <strong>public void someOtherMethod(int x);</strong> </pre></td></tr></tbody></table><br /> <p>现在假定您的服务器接收到文档/文字?SOAP 消息Q您可以回过头在 <a >清单</a> <a >7</a>中看一看它Q。服务器应该发送哪一U方法呢Q所有您能确切知道的是Q它一定不?<code>myMethod(int x, String x)</code> Q因为消息只有一个参敎ͼ而这U方法需要两个参数。它可能是其他两U方法中的一U。采用文?文字的样式,您没有办法知道是哪一U方法?</p> <p>假定服务器接收到一?RPC/文字的消息(比如 <a >清单5</a>中的Q,而不是文?文字的消息。对于这U消息,服务器很Ҏ军_把它发送到哪一U方法。您知道操作名是 <em>myMethod</em>Qƈ且也知道只有一个参敎ͼ所以它必定?<code>myMethod(int x)</code> ?</p> <p><a name="N10333"><span id="wmqeeuq" class="smalltitle">采用</span></a></p> <p><br />采用 RPC/~码的理由有很多。其中两个主要的原因是: </p> <ul><li>数据囑Ş</li><li>多态?/li></ul><br />数据囑Ş <br /> <p>设想您有一个二q制树,其中的节点定义在 <a >清单12</a>中?</p><br /><a name="N10352"><strong>清单12. 二进制树节点 Schema</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><complexType name="Node"> <sequence> <element name="name" type="xsd:string"/> <element name="left" type="Node" xsd:nillable="true"/> <element name="right" type="Node" xsd:nillable="true"/> </sequence> </complexType> </pre></td></tr></tbody></table><br /> <p>Ҏq种节点定义Q我们可以构造一个树形结构,它的根节?A 通过它左边和双的的链接可以指向节点 BQ请参见 <a >?</a>Q?</p><br /><img alt="~码的树" src="http://www.ibm.com/developerworks/cn/webservices/ws-whichwsdl/encodedtree.jpg" width="89" height="128" /> <br /> <p>发送数据图形的标准方式是?href 标记Q它?RPC/~码的样式( <a >清单13</a>Q的一部分?</p><br /><a name="N1037A"><strong>清单:13. RPC/~码的二q制?/strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><A> <name>A</name> <left href="12345"/> <right href="12345"/> </A> <B id="12345"> <name>B</name> <left xsi:nil="true"/> <right xsi:nil="true"/> </B> </pre></td></tr></tbody></table><br /> <p>在Q何文字的样式中,href 属性都是不可用的,q样囑Ş链接׃再v作用了( <a >清单14</a>?<a >?</a>Q。您仍然有一个根节点 AQ它从左Ҏ向一个节?BQ从双指向另一个节?B。这两个 B 节点是等同的Q但它们不是相同的节炏V是复制了数据而不是引用了两次数据?</p><br /><a name="N1038F"><strong>14. 文字二进制树</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><A> <name>A</name> <left> <name>B</name> <left xsi:nil="true"/> <right xsi:nil="true"/> </left> <right> <name>B</name> <left xsi:nil="true"/> <right xsi:nil="true"/> </right> </A></pre></td></tr></tbody></table><br /><br /><img alt="文字? src="http://www.ibm.com/developerworks/cn/webservices/ws-whichwsdl/literaltree.jpg" width="194" height="128" /> <br /> <p>在文字样式中Q您可以通过各种Ҏ构造图形,但是却没有标准的ҎQ所以您做的M事情很可能不能与|络中其他端点上的服务进行互操作?/p><strong>多态?/strong> <br /> <p>看一?<a >清单15</a>中用多态?Schema ?WSDL?</p><a name="listing15"><strong>清单</strong> </a><br /><a name="N103BF"><strong>15. 一个多态?WSDL 的示?/strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><types> <schema> <complexType name="animal"> <sequence> <element name="name" type="xsd:string"/> </sequence> </complexType> <complexType name="dog"> <complexContent mixed="false"> <extension base="animal"> <sequence> <element name="breed" type="xsd:string"/> </sequence> </extension> </complexContent> </complexType> </schema> </types> <message name="in"> <part name="trainee" type="animal"/> </message> <message name="empty"/> <portType name="AnimalTrainer"> <operation name="train"> <input message="in"/> <output message="empty"/> </operation> </portType> </pre></td></tr></tbody></table><br /> <p>当您把一?dog 的实例传送给 <em>train</em> 操作Ӟ所生成?SOAP 消息必须包含cd~码信息Q这h收终端才能知道它所接收的是 animal 的哪一个扩展(请参?<a >清单16</a>Q。这U类型编码信息可用在 RPC/~码的样式中?</p><a name="listing16"><strong>清单</strong> </a><br /><a name="N103DA"><strong>16. 一个多态?SOAP 消息</strong></a><br /> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="code-outline"><pre class="displaycode"><soap:envelope> <soap:body> <train> <trainee xsi:type="Dog"> <name>Bob</name> <breed>Bloodhound</breed> </trainee> </train> </soap:body> </soap:envelope></pre></td></tr></tbody></table><br /> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p><a name="6"><span id="wmqeeuq" class="atitle">ȝ</span></a></p> <p>有四U绑定样式(其实真正有五U,不过文档/~码的样式没有什么意义)。虽然每U样式都有自q用武之地Q但是在大多数情况下Q最好的样式是文?文字包装的样式?/p><img src ="http://www.aygfsteel.com/freeman1984/aggbug/399821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/freeman1984/" target="_blank">疯狂</a> 2013-05-27 15:18 <a href="http://www.aygfsteel.com/freeman1984/archive/2013/05/27/399821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webservice b/s (jax-ws 2.1)http://www.aygfsteel.com/freeman1984/archive/2012/04/19/375252.html疯狂疯狂Thu, 19 Apr 2012 04:15:00 GMThttp://www.aygfsteel.com/freeman1984/archive/2012/04/19/375252.htmlhttp://www.aygfsteel.com/freeman1984/comments/375252.htmlhttp://www.aygfsteel.com/freeman1984/archive/2012/04/19/375252.html#Feedback0http://www.aygfsteel.com/freeman1984/comments/commentRss/375252.htmlhttp://www.aygfsteel.com/freeman1984/services/trackbacks/375252.htmlhttp://alvinqq.iteye.com/blog/647649 

疯狂 2012-04-19 12:15 发表评论
]]>
xmlrpc介绍和?/title><link>http://www.aygfsteel.com/freeman1984/archive/2011/11/11/363526.html</link><dc:creator>疯狂</dc:creator><author>疯狂</author><pubDate>Fri, 11 Nov 2011 06:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/freeman1984/archive/2011/11/11/363526.html</guid><wfw:comment>http://www.aygfsteel.com/freeman1984/comments/363526.html</wfw:comment><comments>http://www.aygfsteel.com/freeman1984/archive/2011/11/11/363526.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/freeman1984/comments/commentRss/363526.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/freeman1984/services/trackbacks/363526.html</trackback:ping><description><![CDATA[     摘要: xmlrpc介绍Qƈ模拟blogjava的xml-rpc api写个例子?<br>  <a href='http://www.aygfsteel.com/freeman1984/archive/2011/11/11/363526.html'>阅读全文</a><img src ="http://www.aygfsteel.com/freeman1984/aggbug/363526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/freeman1984/" target="_blank">疯狂</a> 2011-11-11 14:58 <a href="http://www.aygfsteel.com/freeman1984/archive/2011/11/11/363526.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>axis客户端简单实?/title><link>http://www.aygfsteel.com/freeman1984/archive/2010/10/09/334064.html</link><dc:creator>疯狂</dc:creator><author>疯狂</author><pubDate>Sat, 09 Oct 2010 03:12:00 GMT</pubDate><guid>http://www.aygfsteel.com/freeman1984/archive/2010/10/09/334064.html</guid><wfw:comment>http://www.aygfsteel.com/freeman1984/comments/334064.html</wfw:comment><comments>http://www.aygfsteel.com/freeman1984/archive/2010/10/09/334064.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/freeman1984/comments/commentRss/334064.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/freeman1984/services/trackbacks/334064.html</trackback:ping><description><![CDATA[<p>   Service service = new Service();<br />    Call call = (Call) service.createCall();<br />    call.setTargetEndpointAddress(new java.net.URL(“webservice的url”));<br />    call.setOperationName("service");<br />    call.addParameter("arg0", XMLType.XSD_STRING, ParameterMode.IN);<br />    call.addParameter("arg1", XMLType.XSD_STRING, ParameterMode.IN);<br />    call.addParameter("arg2", XMLType.XSD_STRING, ParameterMode.IN);<br />    call.addParameter("arg3", XMLType.XSD_STRING, ParameterMode.IN);<br />    call.setReturnType(XMLType.XSD_STRING);<br /> 参数</p> <p>   String ret = (String) call.invoke(new Object[] {“arg0” ,“arg1”,“arg2”,“arg3”});<br /> <br /> <br /> -----其中call.addParameterW一个参数要看wsdl里面的描q情c?/p> <img src ="http://www.aygfsteel.com/freeman1984/aggbug/334064.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/freeman1984/" target="_blank">疯狂</a> 2010-10-09 11:12 <a href="http://www.aygfsteel.com/freeman1984/archive/2010/10/09/334064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring cxfhttp://www.aygfsteel.com/freeman1984/archive/2010/01/28/311098.html疯狂疯狂Thu, 28 Jan 2010 09:40:00 GMThttp://www.aygfsteel.com/freeman1984/archive/2010/01/28/311098.htmlhttp://www.aygfsteel.com/freeman1984/comments/311098.htmlhttp://www.aygfsteel.com/freeman1984/archive/2010/01/28/311098.html#Feedback0http://www.aygfsteel.com/freeman1984/comments/commentRss/311098.htmlhttp://www.aygfsteel.com/freeman1984/services/trackbacks/311098.html例子可照?font style="background-color: #cce8cf">http://www.ibm.com/developerworks/cn/webservices/ws-pojo-springcxf/
主要是jar包和jdk 要不一大堆错误郁h?br />jak 1.6 update04以上
jar包:

以下?jar 包是所?CXF 目所必需的:

cxf.jar
commons-logging.jar
geronimo-activation.jar (Or the Sun equivalent)
geronimo-annotation.jar (Or the Sun equivalent)
geronimo-javamail.jar (Or the Sun equivalent)
neethi.jar
jaxb-api.jar
jaxb-impl.jar
stax-api.jar
XmlSchema.jar
wstx-asl.jar
xml-resolver.jar

具体可见http://blog.csdn.net/yyh30/archive/2008/09/19/2952145.aspx或?br />http://blog.csdn.net/sz_bdqn/article/details/6737931
no spring http://zzxanadu.iteye.com/blog/542249



疯狂 2010-01-28 17:40 发表评论
]]>
JAX-WS weService实例2http://www.aygfsteel.com/freeman1984/archive/2010/01/26/310902.html疯狂疯狂Tue, 26 Jan 2010 14:09:00 GMThttp://www.aygfsteel.com/freeman1984/archive/2010/01/26/310902.htmlhttp://www.aygfsteel.com/freeman1984/comments/310902.htmlhttp://www.aygfsteel.com/freeman1984/archive/2010/01/26/310902.html#Feedback0http://www.aygfsteel.com/freeman1984/comments/commentRss/310902.htmlhttp://www.aygfsteel.com/freeman1984/services/trackbacks/310902.html 环境Qmyeclipse 8.0Qtomcat6.0 jdk 1.5+
1,首先new 一个web project
2,d必须的jar Qbulid pathQ:


首先建立server端:
如果客户端用是不是用myeclipse自动生成Q我们在q徏立一个接口:
@WebService
public interface ServerJaxI {
 public List<User> getUser(User user);
}
当然@webServer 是必ȝ
接下来是实现Q?br />

@javax.jws.WebService(targetNamespace = "http://server.com/", endpointInterface="com.server.ServerJaxI", serviceName = "ServerJaxService", portName = "ServerJaxPort")
@SOAPBinding(style=Style.RPC)
public class ServerJax implements ServerJaxI{

 public List<User> getUser(User user){
  System.out.println("get User:"+user.getName());
  return UserManager.getUsers();
 }
}
其中UserQ?br />

public class User implements Serializable{

 private static final long serialVersionUID = 1L;
 private String name;
 private String pwd;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getPwd() {
  return pwd;
 }
 public void setPwd(String pwd) {
  this.pwd = pwd;
 }
 
}
UserManagerQ?br />

public class UserManager {

 private static List<User> users;
 static{
  users = new ArrayList<User>();
  for (int i = 0; i < 10; i++) {
   User user = new User();
   user.setName("name_"+i);
   user.setPwd("pwd_"+i);
   users.add(user);
  }
 }
 public static List<User> getUsers() {
  // TODO Auto-generated method stub
  return users;
 }

}

然后我们使用myeclipse的根据bean生成webserverҎ来生配|文Ӟ
点击目--》new webservice 选择Ҏjavaclass 生成Q?br /> 然后׃看见 在web-info下多了sun-jaxws.xml
内容Q?br /> <?xml version = "1.0"?>
<endpoints version="2.0"
 xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
 <endpoint name="ServerJaxPort"
  implementation="com.server.ServerJax"
  url-pattern="/ServerJaxPort">
</endpoint></endpoints>
web.xml也发成了改变Q被d了相应的支持q些c都在前面添加的jar里面 如果不添加就会出现com.sun.xml.ws.transport.http.servlet.WSServletContextListener不能扑ֈ的错误?br /> <servlet>
   <description>JAX-WS endpoint - ServerJaxService</description>
   <display-name>ServerJaxService</display-name>
   <servlet-name>ServerJaxService</servlet-name>
   <servlet-class>
    com.sun.xml.ws.transport.http.servlet.WSServlet
   </servlet-class>
   <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
   <servlet-name>ServerJaxService</servlet-name>
   <url-pattern>/ServerJaxPort</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <listener>
   <listener-class>
    com.sun.xml.ws.transport.http.servlet.WSServletContextListener
   </listener-class>
  </listener></web-app>
ok。现在我们部|项目启?通过以下链接讉KQhtttp://localhost:8080//pro/ServerJaxPort 其中ServerJaxPort 是在sun-jaxws.xml里面定义的url-pattern q是我们p看见
我们发布的服务了Q?br />
客户端:
当然客户端可以通过myeclipse自动生成Q我们采用不自动成的方式Q也是通过接口方式来获取(q也是前面定义接口的原因)Q当焉取自动生成的方式话就不用定义接口Q?br /> 当然采用接口的方式:需要接口需要的c:
上面我们定义的接口:
@WebService
public interface ServerJaxI {
 public List<User> getUser(User user);
}
要调用这个接口就需要User 和这个接口类
 
1Q首先我们new 一个java project ServerJaxI 和User代码拯q来 包名相同Q?br /> 然后是我们的客L代码

public class Clientj {
 public static void main(String[] args) {
  try {
  URL url = new URL("http://localhost:8080/jaxws/ServerJaxPort?wsdl");//wsdl 地址
  
  QName qname = new QName("http://server.com/","ServerJaxService");  //其中W一个参CؓQnamespaceURI W二个ؓservername
  Service service = Service.create(url, qname); 
  ServerJaxI s = service.getPort(ServerJaxI.class); 
  User user = new User();
  user.setName("qiaobing");
  System.out.println(s.getUser(user).get(1).getName());
  } catch (MalformedURLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }
q行可以看见结果了?br /> CZ代码下蝲Q?br /> //----------------------
map讲不能得到支?
因此可以单的装下,Q或者通过XmlAdapter<ValueType, BoundType>来封装)
例如UserMap.java:

public class UserMap{

 private HashMap<String, User> users;

 public UserMap(){
  users = new HashMap<String, User>();
 }
 public HashMap<String, User> getUsers() {
  return users;
 }

 public void setUsers(HashMap<String, User> users) {
  this.users = users;
 }
 public void put(String key,User user){
  users.put(key, user);
 }
 public User get(String key){
  return users.get(key);
 }
}

q样可以通过UserMap来传递map数据?br /> 服务端:
/Files/freeman1984/jaxws.rar
客户端:
/Files/freeman1984/jaxwsclient.rar



疯狂 2010-01-26 22:09 发表评论
]]>
PHPRPChttp://www.aygfsteel.com/freeman1984/archive/2010/01/19/310095.html疯狂疯狂Tue, 19 Jan 2010 08:33:00 GMThttp://www.aygfsteel.com/freeman1984/archive/2010/01/19/310095.htmlhttp://www.aygfsteel.com/freeman1984/comments/310095.htmlhttp://www.aygfsteel.com/freeman1984/archive/2010/01/19/310095.html#Feedback0http://www.aygfsteel.com/freeman1984/comments/commentRss/310095.htmlhttp://www.aygfsteel.com/freeman1984/services/trackbacks/310095.htmlhttp://blog.chenlb.com/2009/02/phprpc-for-java-hello-world-demo.html

PHPRPC是面向服务的高性能q程q程调用协议。PHPRPC for java 是此协议的一U实玎ͼ详细请到官方?a target="_blank">PHPRPC的介l?/a> Q以其它rpc协议的性能ҎPJava、PHPRPC、Hessian、Burlap、XML 序列化的效率Ҏ 。我在这时只是试用下?/p>

下蝲Q?a target="_blank">PHPRPC 3.0.2 for Java , 解压刎ͼ如:f:/phprpc_3.0.2_for_java)Q然后双击make.bat生成服务与客LQ生成phprpc.jar和phprpc_client.jar两个jarQ把phprpc.jar攑ֈweb目的WEB-INF/lib目录下?/p>

先写个模拟业务接口:Hello.java接口与其实现MyHello.java

  1. package com.chenlb.phprpc;   
  2.   
  3. /**  
  4.  * 业务接口  
  5.  *  
  6.  * @author chenlb 2009-2-22 下午08:06:13  
  7.  */  
  8. public interface Hello {   
  9.   
  10.     String say(String name);   
  11. }  
  1. package com.chenlb.phprpc;   
  2.   
  3. /**  
  4.  * 服务器的一个模拟Q? 
  5.  *  
  6.  * @author chenlb 2009-2-22 下午08:05:42  
  7.  */  
  8. public class MyHello implements Hello {   
  9.   
  10.     public String say(String name) {   
  11.         return "Hello "+name;   
  12.     }   
  13. }  

然后发布业务Q被q程调用的)Qrpc.jsp

  1. <%@ page import="com.chenlb.phprpc.*" %>   
  2. <%@ page import="org.phprpc.*" %>   
  3. <%   
  4. Hello hello = new MyHello();   
  5. PHPRPC_Server phprpc_server = new PHPRPC_Server();   
  6. phprpc_server.add(hello);   
  7. phprpc_server.start(request, response);   
  8. %>  

当然要把Hello.class与Myhello.class攑ֈweb目里,如WEB-INF/classes?/p>

~写java客户端代码,试用Q?/p>

  1. package com.chenlb.phprpc;   
  2.   
  3. import org.phprpc.PHPRPC_Callback;   
  4. import org.phprpc.PHPRPC_Client;   
  5.   
  6. public class PhpRpcDemo {   
  7.   
  8.     public static void main(String[] args) {   
  9.         PHPRPC_Client client = new PHPRPC_Client("http://localhost:8080/phprpc/rpc.jsp");   
  10.         Hello m = (Hello) client.useService(Hello.class);   
  11.         System.out.println(m.say("chenlb"));   
  12.   
  13.         //也可以以 callback形式调用.   
  14.         client.invoke("say"new Object[] {"other"}, new PHPRPC_Callback() {   
  15.             public void handler(String result, Object[] args) {   
  16.                 System.out.println("handler:");   
  17.                 System.out.println(result);   
  18.                 System.out.println("args:"+args[0]);   
  19.                 System.out.println();   
  20.             }   
  21.         });   
  22.     }   
  23. }  

CZ了两U用方式,输出l果为:

Hello chenlb
handler:
Hello other
args:other

使用的确比较单。可以在 javaeye 组里与 PHPRPC 作者交?/p>



疯狂 2010-01-19 16:33 发表评论
]]>
JAX-WS weService实例 c/s形式http://www.aygfsteel.com/freeman1984/archive/2010/01/13/309387.html疯狂疯狂Wed, 13 Jan 2010 15:22:00 GMThttp://www.aygfsteel.com/freeman1984/archive/2010/01/13/309387.htmlhttp://www.aygfsteel.com/freeman1984/comments/309387.htmlhttp://www.aygfsteel.com/freeman1984/archive/2010/01/13/309387.html#Feedback0http://www.aygfsteel.com/freeman1984/comments/commentRss/309387.htmlhttp://www.aygfsteel.com/freeman1984/services/trackbacks/309387.html 首先是服务端Q?br />    首先创徏java目或者web目都可Q?br />    首先~写service端接口,WebServerInterfaceQ必d接口形式发布Q?br />  
@WebService(serviceName="testserver",targetNamespace="http://testserver.com")
@SOAPBinding(style 
= SOAPBinding.Style.RPC)
public interface WebServerInterface {

    @WebMethod
    
public TestUser getAllTestUsersByUserName(String userName);
}

 TestUser.java
package com.server;

public class TestUser {

    
private int id;
    
private String usetName;
    
private String pwd;
    
    
public int getId() {
        
return id;
    }

    
public void setId(int id) {
        
this.id = id;
    }

    
public String getUsetName() {
        
return usetName;
    }

    
public void setUsetName(String usetName) {
        
this.usetName = usetName;
    }

    
public String getPwd() {
        
return pwd;
    }

    
public void setPwd(String pwd) {
        
this.pwd = pwd;
    }

    
    
}


实现c:
@WebService(endpointInterface="com.server.WebServerInterface")
public class WebServerInterfaceImpl implements WebServerInterface {

    @Override
    
public TestUser getAllTestUsersByUserName(String userName) {
        
// TODO Auto-generated method stub
        return TestUserManager.getUserByName(userName);
    }


}


接下来是TestUserManager.java(用户理c?
public class TestUserManager {

    
public static List<TestUser> users;
    
static{
        users 
= new ArrayList<TestUser>();
        
for(int i=0;i<=10;i++){
            TestUser testUser 
= new TestUser();
            testUser.setId(i);
            testUser.setUsetName(
"userName_"+i);
            testUser.setPwd(
"pwd_"+i);
            users.add(testUser);
        }

    }

    
    
public static TestUser getUserByName(String userName){
        
for(TestUser testUser:users){
            
if(testUser.getUsetName().equals(userName)){
                
return testUser;
            }

        }

        
return null;
    }

}


q样serverq写好?然后是发布serverQ当然如果是web目的话可以通过servlet发布 当然要设|:load-on-startup ? 在tomcat启动时初始化发布
public static void main(String[] args) {
         Endpoint.publish(
"http://127.0.0.1:10100/mywebserver"new WebServerInterfaceImpl());  
    }
q行后webserver发布好?可以同ie讉K

接下来是客户端的讉KQ?br /> 客户端可以同eclipse通过wsdl的url来自动生?br /> 也可以自己实?br /> 例如Q?br /> URL url = new URL("http://127.0.0.1:10100/mywebserver?wsdl");
QName qname = new QName(" Service service = Service.create(url, qname);  
WebServerInterface = service.getPort(WebServerInterface .class);  
然后可以操作了

代码下蝲Q?br />
/Files/freeman1984/src_server.rar /Files/freeman1984/src_client.rar



疯狂 2010-01-13 23:22 发表评论
]]>
axis webService发布webservice和client的简单实?/title><link>http://www.aygfsteel.com/freeman1984/archive/2010/01/13/309340.html</link><dc:creator>疯狂</dc:creator><author>疯狂</author><pubDate>Wed, 13 Jan 2010 09:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/freeman1984/archive/2010/01/13/309340.html</guid><wfw:comment>http://www.aygfsteel.com/freeman1984/comments/309340.html</wfw:comment><comments>http://www.aygfsteel.com/freeman1984/archive/2010/01/13/309340.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/freeman1984/comments/commentRss/309340.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/freeman1984/services/trackbacks/309340.html</trackback:ping><description><![CDATA[服务端:通过jws方式实现<br />   首先加入axis所需的jar 配置web.xml:<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #000000"><?</span><span style="color: #000000">xml version</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">1.0</span><span style="color: #000000">"</span><span style="color: #000000"> encoding</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">UTF-8</span><span style="color: #000000">"</span><span style="color: #000000">?></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000"><</span><span style="color: #000000">web</span><span style="color: #000000">-</span><span style="color: #000000">app id</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">WebApp_ID</span><span style="color: #000000">"</span><span style="color: #000000"> version</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">2.4</span><span style="color: #000000">"</span><span style="color: #000000"> xmlns</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">http://java.sun.com/xml/ns/j2ee</span><span style="color: #000000">"</span><span style="color: #000000"> xmlns:xsi</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">http://www.w3.org/2001/XMLSchema-instance</span><span style="color: #000000">"</span><span style="color: #000000"> xsi:schemaLocation</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</span><span style="color: #000000">"</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">display</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">vote</span><span style="color: #000000"></</span><span style="color: #000000">display</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><!--</span><span style="color: #000000"> Context Configuration locations </span><span style="color: #0000ff">for</span><span style="color: #000000"> Spring XML files </span><span style="color: #000000">--></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /> </span><span style="color: #000000"><</span><span style="color: #000000">display</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">Apache</span><span style="color: #000000">-</span><span style="color: #000000">Axis</span><span style="color: #000000"></</span><span style="color: #000000">display</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">    <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">listener</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #000000"><</span><span style="color: #000000">listener</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000">org.apache.axis.transport.http.AxisHTTPSessionListener</span><span style="color: #000000"></</span><span style="color: #000000">listener</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"></</span><span style="color: #000000">listener</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">AxisServlet</span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        org.apache.axis.transport.http.AxisServlet<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">AdminServlet</span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        org.apache.axis.transport.http.AdminServlet<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">load</span><span style="color: #000000">-</span><span style="color: #000000">on</span><span style="color: #000000">-</span><span style="color: #000000">startup</span><span style="color: #000000">></span><span style="color: #000000">100</span><span style="color: #000000"></</span><span style="color: #000000">load</span><span style="color: #000000">-</span><span style="color: #000000">on</span><span style="color: #000000">-</span><span style="color: #000000">startup</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">SOAPMonitorService</span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        org.apache.axis.monitor.SOAPMonitorService<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />      </span><span style="color: #000000"><</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">SOAPMonitorPort</span><span style="color: #000000"></</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />      </span><span style="color: #000000"><</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">></span><span style="color: #000000">5001</span><span style="color: #000000"></</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"></</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">load</span><span style="color: #000000">-</span><span style="color: #000000">on</span><span style="color: #000000">-</span><span style="color: #000000">startup</span><span style="color: #000000">></span><span style="color: #000000">100</span><span style="color: #000000"></</span><span style="color: #000000">load</span><span style="color: #000000">-</span><span style="color: #000000">on</span><span style="color: #000000">-</span><span style="color: #000000">startup</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">AxisServlet</span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">>/</span><span style="color: #000000">servlet</span><span style="color: #000000">/</span><span style="color: #000000">AxisServlet</span><span style="color: #000000"></</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">AxisServlet</span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">>*</span><span style="color: #000000">.jws</span><span style="color: #000000"></</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">AxisServlet</span><span style="color: #000000"></</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /> <img id="Codehighlighter1_1608_2242_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1608_2242_Open_Text.style.display='none'; Codehighlighter1_1608_2242_Closed_Image.style.display='inline'; Codehighlighter1_1608_2242_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_1608_2242_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1608_2242_Closed_Text.style.display='none'; Codehighlighter1_1608_2242_Open_Image.style.display='inline'; Codehighlighter1_1608_2242_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" />    </span><span style="color: #000000"><</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">>/</span><span style="color: #000000">services</span><span id="Codehighlighter1_1608_2242_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_1608_2242_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000"></url-pattern><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  </servlet-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  <servlet-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <servlet-name>SOAPMonitorService</servlet-name><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <url-pattern>/SOAPMonitor</url-pattern><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  </servlet-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  <servlet-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <servlet-name>AdminServlet</servlet-name><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <url-pattern>/servlet/AdminServlet</url-pattern><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  </servlet-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <session-config><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        <session-timeout>20</session-timeout><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </session-config><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  <mime-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <extension>wsdl</extension><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />     <mime-type>text/xml</mime-type><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  </mime-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  <mime-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <extension>xsd</extension><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <mime-type>text/xml</mime-type><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />  </mime-mapping><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></web-app><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></span></div> </span><br /> 接口文件实例内容如下:Test.jws<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_18_94_Open_Image" onclick="this.style.display='none'; Codehighlighter1_18_94_Open_Text.style.display='none'; Codehighlighter1_18_94_Closed_Image.style.display='inline'; Codehighlighter1_18_94_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_18_94_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_18_94_Closed_Text.style.display='none'; Codehighlighter1_18_94_Open_Image.style.display='inline'; Codehighlighter1_18_94_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Test </span><span id="Codehighlighter1_18_94_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_18_94_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> <img id="Codehighlighter1_63_92_Open_Image" onclick="this.style.display='none'; Codehighlighter1_63_92_Open_Text.style.display='none'; Codehighlighter1_63_92_Closed_Image.style.display='inline'; Codehighlighter1_63_92_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_63_92_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_63_92_Closed_Text.style.display='none'; Codehighlighter1_63_92_Open_Image.style.display='inline'; Codehighlighter1_63_92_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">public</span><span style="color: #000000"> String doRequest(String request)</span><span id="Codehighlighter1_63_92_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_63_92_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #008000">//</span><span style="color: #008000">do<img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span style="color: #008000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">          </span><span style="color: #0000ff">return</span><span style="color: #000000"> <img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />        }</span></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span></div> 次文g攑֜<font style="background-color: #cce8cf">WebRoot</font>?卛_?br /> <br /> 客户端,使用xfire实现<br />   首先拿到wsdl的urlQwebserviceUrl<br /> 通过 <font style="background-color: #cce8cf"> <font style="background-color: #cce8cf">webServiceClient</font> webServiceClient = new Client(new URL(webserviceUrl));创徏客户?br /> 然后可以通过<font style="background-color: #cce8cf">Object[] i = webServiceClient.invoke("webserversҎ?, new Object[]{参数});来调用?br /> <br /> </font><br /> <br /> </font><br /> <img src ="http://www.aygfsteel.com/freeman1984/aggbug/309340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/freeman1984/" target="_blank">疯狂</a> 2010-01-13 17:59 <a href="http://www.aygfsteel.com/freeman1984/archive/2010/01/13/309340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ӳ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˰</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ٹ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ٲ</a>| <a href="http://" target="_blank">Ұ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank">з</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨɽ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>