﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-路漫漫其修远兮，吾将上下而求索-随笔分类-JAVA WS</title><link>http://www.blogjava.net/fhtdy2004/category/39258.html</link><description>有些事,明明知道不会有结果，有些人,明明知道注定会错过</description><language>zh-cn</language><lastBuildDate>Mon, 03 Aug 2009 02:42:10 GMT</lastBuildDate><pubDate>Mon, 03 Aug 2009 02:42:10 GMT</pubDate><ttl>60</ttl><item><title>转：Axis2新一篇入门教程</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/05/05/268930.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Tue, 05 May 2009 02:40:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/05/05/268930.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/268930.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/05/05/268930.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/268930.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/268930.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/fhtdy2004/archive/2009/05/05/268930.html'>阅读全文</a><img src ="http://www.blogjava.net/fhtdy2004/aggbug/268930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-05-05 10:40 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/05/05/268930.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转：ibm通过 Axis2 运行时部署和使用简单 Web 服务</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268751.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Mon, 04 May 2009 01:49:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268751.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/268751.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268751.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/268751.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/268751.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268751.html'>阅读全文</a><img src ="http://www.blogjava.net/fhtdy2004/aggbug/268751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-05-04 09:49 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268751.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转:Web 服务与 Axis2 体系结构</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268744.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Mon, 04 May 2009 01:20:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268744.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/268744.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268744.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/268744.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/268744.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268744.html'>阅读全文</a><img src ="http://www.blogjava.net/fhtdy2004/aggbug/268744.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-05-04 09:20 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/05/04/268744.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]WebService大讲堂之Axis2(10)：使用soapmonitor模块监视soap请求与响应消息</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/04/30/268335.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Thu, 30 Apr 2009 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/04/30/268335.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/268335.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/04/30/268335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/268335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/268335.html</trackback:ping><description><![CDATA[<span style="font-family: 宋体">在</span>Axis2<span style="font-family: 宋体">中提供了一个</span>Axis2<span style="font-family: 宋体">模块（</span>soapmonitor<span style="font-family: 宋体">），该模块实现了与</span><a class="titlelink" id="Editor_Results_rprSelectionList_ctl03_LinkTitle" href="http://www.blogjava.net/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/16/254826.html">《WebService大讲堂之Axis2(9)：编写Axis2模块（Module）》</a><span style="font-family: 宋体">中实现的</span>logging<span style="font-family: 宋体">模块相同的功能，所不同的是，</span>logging<span style="font-family: 宋体">模块直接将</span>SOAP<span style="font-family: 宋体">请求与响应消息输出到</span>Tomcat<span style="font-family: 宋体">控制台中，而</span>soapmonitor<span style="font-family: 宋体">模块利用</span>applet<span style="font-family: 宋体">直接在页面中输出</span>SOAP<span style="font-family: 宋体">请求和响应消息。</span>
<p>&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">下面是配置和使用</span>soapmonitor<span style="font-family: 宋体">模块的步骤：&nbsp;&nbsp;&nbsp; <br />
</span></p>
<p><strong><span style="font-family: 宋体">第</span>1<span style="font-family: 宋体">步：部署</span>Applet<span style="font-family: 宋体">和</span>Servlet</strong></p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">由于</span>axis2<span style="font-family: 宋体">默认情况下已经自带了</span>soapmonitor<span style="font-family: 宋体">模块，因此，</span>soapmonitor<span style="font-family: 宋体">模块并不需要单独安装。但</span>applet<span style="font-family: 宋体">所涉及到的相应的</span>.class<span style="font-family: 宋体">文件需要安装一下。在</span>&lt;Tomcat<span style="font-family: 宋体">安装目录</span>&gt;\webapps\axis2\WEB-INF\lib<span style="font-family: 宋体">目录中找到</span>soapmonitor-1.4.1.jar<span style="font-family: 宋体">文件，将该文件解压。虽然</span>applet<span style="font-family: 宋体">并不需要</span>soapmonitor-1.4.1.jar<span style="font-family: 宋体">文件中所有的</span>.class<span style="font-family: 宋体">文件，但为了方便，<br />
<span style="color: red"><strong><span style="font-family: 宋体">读者也可以直接将解压目录中的</span>org<span style="font-family: 宋体">目录复制到</span>&lt;Tomcat<span style="font-family: 宋体">安装目录</span>&gt;\webapps\axis2<span style="font-family: 宋体">目录中</span></strong></span></span><span style="color: red"><strong>Applet<span style="font-family: 宋体">所需的</span>.class</strong><span style="font-family: 宋体"><strong>文件需要放在这个目录。<br />
</strong></span></span><span style="font-family: 宋体">然后再将</span>org<span style="font-family: 宋体">目录复制到</span>&lt;Tomcat<span style="font-family: 宋体">安装目录</span>&gt;\webapps\axis2\WEB-INF\classes<span style="font-family: 宋体">目录中，</span>soapmonitor<span style="font-family: 宋体">模块中的</span>Servlet<span style="font-family: 宋体">所对应的</span>.class<span style="font-family: 宋体">文件需要放在这个目录。<span style="color: red"><strong>(这一步不做也可以,因为lib包底下有soapmonito-1.4.1.jar文件)</strong></span><br />
</span></p>
<p><strong><span style="font-family: 宋体">第</span>2<span style="font-family: 宋体">步：配置</span>Servlet</strong></p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">打开</span>&lt;Tomcat<span style="font-family: 宋体">安装目录</span>&gt;\webapps\axis2\WEB-INF\web.xml<span style="font-family: 宋体">文件，在其中加入如下的内容：<br />
</span></p>
<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%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">SOAPMonitorService</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.axis2.soapmonitor.servlet.SOAPMonitorService<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">SOAPMonitorPort</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">5001</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">1</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">SOAPMonitorService</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/SOAPMonitor</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span></div>
<p>&nbsp;</p>
<p><strong><span style="font-family: 宋体">第</span>3<span style="font-family: 宋体">步：在</span>services.xml<span style="font-family: 宋体">文件中引用</span>soapmonitor<span style="font-family: 宋体">模块</span></strong></p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">与引用logging模块一样，引用soapmonitor模块也需要使用&lt;module&gt;元素，引用soapmonitor模块的services.xml文件的内容如下：<br />
</span></p>
<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%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff">&lt;</span><span style="color: #800000">service&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="myService"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">description</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用logging和soapmonitor模块<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">description</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;&nbsp;引用logging模块&nbsp;&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">module&nbsp;</span><span style="color: #ff0000">ref</span><span style="color: #0000ff">="logging"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;&nbsp;引用soapmonitor模块&nbsp;&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">module&nbsp;</span><span style="color: #ff0000">ref</span><span style="color: #0000ff">="soapmonitor"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">parameter&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="ServiceClass"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;service.MyService&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">parameter</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">messageReceivers</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">messageReceiver&nbsp;</span><span style="color: #ff0000">mep</span><span style="color: #0000ff">="http://www.w3.org/2004/08/wsdl/in-out"</span><span style="color: #ff0000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class</span><span style="color: #0000ff">="org.apache.axis2.rpc.receivers.RPCMessageReceiver"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">messageReceivers</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">service</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span></div>
<p>&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">由于</span>soapmonitor<span style="font-family: 宋体">模块已经在</span>axis2.xml<span style="font-family: 宋体">进行配置了，因此，在本例中不需要再对</span>axis2.xml<span style="font-family: 宋体">文件进行配置了。&nbsp;&nbsp;&nbsp; <br />
</span></p>
<p><strong><span style="font-family: 宋体">第</span>4<span style="font-family: 宋体">步：使用</span>soapmonitor<span style="font-family: 宋体">模块</span></strong></p>
<p><span style="font-family: 宋体">&nbsp;&nbsp;&nbsp; 启动Tomcat后，在浏览器中输入如下的URL：<br />
<br />
<a href="http://localhost:8080/axis2/SOAPMonitor">http://localhost:8080/axis2/SOAPMonitor<br />
<br />
</a></span><a href="http://localhost:8080/axis2/SOAPMonitor"></a></p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">在浏览器中将出现</span>soapmonitor<span style="font-family: 宋体">所带的</span>Applet<span style="font-family: 宋体">的界面，当访问</span>MyService<span style="font-family: 宋体">的</span>getGreeting<span style="font-family: 宋体">方法时，在</span>Tomcat<span style="font-family: 宋体">控制台与</span>Applet<span style="font-family: 宋体">中都显示了相应的</span>SOAP<span style="font-family: 宋体">请求和响应消息。如图</span>1<span style="font-family: 宋体">和图</span>2<span style="font-family: 宋体">分别是调用了两次</span>getGreeting<span style="font-family: 宋体">方法后输出的</span>SOAP<span style="font-family: 宋体">请求和响应消息。<br />
<div><img alt="" src="http://www.blogjava.net/images/blogjava_net/nokiaguy/axis2_10/01.jpg" /><br />
<br />
图1<br />
</div>
<br />
<div><img alt="" src="http://www.blogjava.net/images/blogjava_net/nokiaguy/axis2_10/022.jpg" /><br />
<br />
图2<br />
</div>
</span>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; <span style="font-family: 宋体">如果读者想让</span>logging<span style="font-family: 宋体">和</span>soapmonitor<span style="font-family: 宋体">模块监视部署在</span>Axis2<span style="font-family: 宋体">中的所有</span>WebService<span style="font-family: 宋体">，可以在</span>axis2.xml<span style="font-family: 宋体">文件中使用</span>&lt;module&gt;<span style="font-family: 宋体">元素来引用这两个模块，代码如下：</span></p>
<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%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;&nbsp;引用logging模块&nbsp;&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">module&nbsp;</span><span style="color: #ff0000">ref</span><span style="color: #0000ff">="logging"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;&nbsp;引用soapmonitor模块&nbsp;&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">module&nbsp;</span><span style="color: #ff0000">ref</span><span style="color: #0000ff">="soapmonitor"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
</span></div>
<img src ="http://www.blogjava.net/fhtdy2004/aggbug/268335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-04-30 13:05 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/04/30/268335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Eclipse中创建基于Axis2的web services</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/04/28/267999.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Tue, 28 Apr 2009 14:53:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/04/28/267999.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/267999.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/04/28/267999.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/267999.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/267999.html</trackback:ping><description><![CDATA[<p><span style="color: red">JavaBean---&gt;发布ws服务---&gt;从axis2浏览器中获得wsdl---&gt;根据wsdl来生成客户端桩Stub<br />
----&gt;根据Stub来写测试用例<br />
</span>转载:http://chineseoa.javaeye.com/blog/192018<br />
<br />
</p>
<p>本实验的目的是让你尽可能快的创建使用 Axis2 的服务和客户端，我们将使用一个简单的 SayHello 服务并显示给你一些创建和部署它的不同方式，以及了解 Axis2 自带的一些工具，然后我们将看看创建访问这些服务的客户端。 </p>
<p>&nbsp; </p>
<p>一 . 做好准备 </p>
<p>在我们使用 Axis2 构建任何东西之前，我们将需要关注一些家务事。现在你将需要准备好你使用 Axis2 的环境，幸运的是，它只包括一些简单的步骤 : </p>
<p>1. 软件下载准备 </p>
<p>&nbsp;2. 安装 <br />
1) 首先搭建开发环境，需要将下载到的 Eclipse 解压缩到一个目录 , 然后安装好 MyEclipse </p>
<p>2) 将下载到的 Axis2 的两个插件解压缩到 Eclipse 安装目录下的 plug-in 子目录。 </p>
<p>3) 然后启动 Eclipse ，并选择&#8220; File-&gt;New-&gt;Other &#8221;可以找到下面的这些 Wizards, 这些将是本文中用到的很重要的工具。 </p>
<p><br />
4) 下面开始搭建 Web Services 的部署环境。将下载的 tomcat 报解压缩到一个目录。完成 web container&nbsp; 的安装。 </p>
<p>5) 将 axis2.war 包拷贝到 tomcat 安装目录下的 webapps 目录中。 </p>
<p>6) 启动 Tomcat(windows 下为 TOMCA_HOME/bin 中的 startup.bat ； Linux ， unix 环境为 startup.sh 文件 ) ，打开浏览器输入并访问 :http://ip:8080/axis2 （或 2 http://localhost:8080/axis 2 ）来查看 , 如果能看到下面的页面则说明已经安装完成。 </p>
<p>&nbsp; </p>
<p>二、进入开发 </p>
<p>在开发环境及 Axis2 环境搭建好后，我们便可着手 Web Services 服务以及客户端的开发： </p>
<p>1． 建立要发布的 Web Services </p>
<p>1）&nbsp; 在 Eclispse 中添加一个用户库命名为 axis2 ，将 axis2\lib 下的包均添加进来。 <br />
在 &#8220;Package Explorer&#8221; 窗口空白中单击右键，从右键快捷菜单中选择&#8220; Properties&#8221; 菜单，然后在弹出的窗口中如下图示操作，最后在图中 6 所示位置处填入 axis2 中 lib 位置的路径即可； </p>
<p>这一步操作的目的是为了以后工程添加 axis2 所需的 jar 文件方便； </p>
<p>2）&nbsp; 建立一个 JavaProject 命名为 ws ，将 axis2 用户库加入到 build path 中。 </p>
<p>3）&nbsp; 现在开始编写要发布的 WebSevice ，在 src 中建包 briup ，建立 Hello 类如下 </p>
<p>package briup; </p>
<p>public class Hello { </p>
<p>&nbsp;&nbsp; public String sayHello(String user) { </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "Hello, " + user; </p>
<p>&nbsp;&nbsp; } </p>
<p>} </p>
<p><br />
2． 发布 Web Services </p>
<p>打包要发布的 Service ， Eclipse 中 New --&gt; File --&gt; Other --&gt; Axis2 wizards --&gt; Axis2 Services Archiver ，按照向导选择刚建立的类编译后的 class 文件。 </p>
<p>1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择 class 文件目录，注意，不是 java 源文件，而是 classes 目录。 </p>
<p>2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 连按两次 &#8220;Next&gt;&#8221; ，选中 &#8220;Generate the service xml automatically&#8221; ； </p>
<p>3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 按下一步，输入 service 名称和类名； <span style="color: red"><strong>注意类名要有包名</strong><br />
</span><br />
4)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 按下一步，输入 service 文件的保存路径和文件名，完成。 <br />
这里将保存路径设为 C 盘，文件名为 ws ，按完成保存成功。这时侯切换到保存路径会发现新增一文件为 ws.aar ，将其拷贝到 Tomcat 5.5\webapps\axis2\WEB-INF\services 目录下，重新打开 http://localhost:8080/axis2/services/listService 就会发现 AccountService 已经发布成功，现在就可以应用这个 Web 服务了。 </p>
<p>&nbsp;</p>
<p>3． 测试 </p>
<p>通过 WSDL 文件生成 CallbackHandler.java 和 AccountServiceStub.java ： </p>
<p>1）&nbsp; New --&gt; File --&gt; Other --&gt; Axis2 wizards --&gt; Axis2 Code Generator <br />
&nbsp; <br />
2）&nbsp; 选择 Generate Java source code from a WSDL file ，按下一步 </p>
<p>3）&nbsp; 按 Browse 选择或输入 wsdl 文件位置，按下一步 </p>
<p>到现在为止，我们并未自行编写以及生成 WSDL 文件。当 web service 发布后即可通过访问 http://localhost:8080/axis2/services/ws?wsdl 就可以得到 wsdl 文件。既然如此，我们可以在地址栏中直接输入 URL ： </p>
<p>4）&nbsp; 使用默认的配置，按下一步。在弹出的新窗口中，然后选择生成文件的存放路径，完成两个 Java 文件的生成。 </p>
<p>5）&nbsp; 在工程目录按 F5 刷新，就可以看到刚生成的文件。如图： </p>
<p>6）&nbsp; 编写服务测试程序 WsTest.java 如下： </p>
<p>package briup; </p>
<p>public class WsTest { </p>
<p>&nbsp;&nbsp;&nbsp; public static void main(String[] args) throws Exception { </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WsStub stub= new WsStub( "http://localhost:8080/axis2/services/ws" ); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WsStub.SayHello sayHello= new WsStub.SayHello(); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sayHello.setUser( "briup" ); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WsStub.SayHelloResponse res=stub.sayHello(sayHello); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System. out .println(res.get_return()); </p>
<p>&nbsp;&nbsp;&nbsp; } </p>
<p>} </p>
<p>运行结果如下： </p>
<p>在执行的时侯，切记要将杀毒软件或防火墙软件关闭。否则执行时出现以下报错信息： <br />
</p>
<img src ="http://www.blogjava.net/fhtdy2004/aggbug/267999.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-04-28 22:53 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/04/28/267999.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]使用Axis2 Code Generator时产生InvocationTargetException</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/04/28/267996.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Tue, 28 Apr 2009 14:40:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/04/28/267996.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/267996.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/04/28/267996.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/267996.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/267996.html</trackback:ping><description><![CDATA[<p>Axis2 Code Generator作为一个在Eclipse中使用的能自动根据WSDL生成Java文件以及根据Java文件生成WSDL的插件，安装好后使用往往会出现InvocationTargetException异常，这时可尝试：</p>
<p>1. 将backport-util-concurrent-3.1.jar从 $AXIS2_HOME\lib 处拷贝至 $ECLIPSE_HOME\plugins\Axis2_Codegen_Wizard_1.3.0\lib;</p>
<p>2. 编辑文件 $ECLIPSE_HOME\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml, 在其中runtime元素中增加内容：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;library name="lib/backport-util-concurrent-3.1.jar"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;export name="*"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/library&gt;</p>
<p>3. 将 $workspace位置\.metadata\.plugins下目录 Axis2_Codegen_Wizard 删除</p>
<p>4. 在命令行下切换至$ECLIPSE_HOME目录，然后执行：</p>
<p>&nbsp;&nbsp;&nbsp; eclipse -clean<br />
</p>
<a href="http://chineseoa.javaeye.com/blog/191997"><br />
http://chineseoa.javaeye.com/blog/191997</a>
<img src ="http://www.blogjava.net/fhtdy2004/aggbug/267996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-04-28 22:40 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/04/28/267996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>