﻿<?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-真的有外星人吗？-随笔分类-webservice</title><link>http://www.blogjava.net/nokiaguy/category/37087.html</link><description>假如这个世界上只剩下你一个人，当你正坐在屋子里的时候，这时突然响起了敲门声，那么会是谁呢？</description><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2009 13:57:09 GMT</lastBuildDate><pubDate>Wed, 08 Apr 2009 13:57:09 GMT</pubDate><ttl>60</ttl><item><title>WebService（Axis2）视频教程与QQ交流群发布</title><link>http://www.blogjava.net/nokiaguy/archive/2009/04/07/264183.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Tue, 07 Apr 2009 01:06:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/04/07/264183.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/264183.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/04/07/264183.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/264183.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/264183.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Axis2是目前比较流行的WebService引擎。WebService被应用在很多不同的场景。例如，可以使用WebService来发布服务端 Java类的方法，以便使用不同的客户端进行调用。这样可以有效地集成多种不同的技术来完成应用系统。WebService还经常被使用在SOA中，用于 SOA各个部分交换数据。本课程重点讲解了Axis2的核心功能，并提供了三个项目以使学员理解并掌握如何将Axis2应用于不同的场景。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/04/07/264183.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/264183.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-04-07 09:06 <a href="http://www.blogjava.net/nokiaguy/archive/2009/04/07/264183.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/nokiaguy/archive/2009/02/17/255021.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Tue, 17 Feb 2009 01:22:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/02/17/255021.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/255021.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/02/17/255021.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/255021.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/255021.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Axis2中提供了一个Axis2模块（soapmonitor），该模块实现了与《WebService大讲堂之Axis2(9)：编写Axis2模块（Module）》中实现的logging模块相同的功能，所不同的是，logging模块直接将SOAP请求与响应消息输出到Tomcat控制台中，而soapmonitor模块利用applet直接在页面中输出SOAP请求和响应消息。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/02/17/255021.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/255021.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-02-17 09:22 <a href="http://www.blogjava.net/nokiaguy/archive/2009/02/17/255021.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2(9)：编写Axis2模块（Module）</title><link>http://www.blogjava.net/nokiaguy/archive/2009/02/16/254826.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Mon, 16 Feb 2009 01:05:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/02/16/254826.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/254826.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/02/16/254826.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/254826.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/254826.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     Axis2可以通过模块（Module）进行扩展。Axis2模块至少需要有两个类，这两个类分别实现了Module和Handler接口。开发和使用一个Axis2模块的步骤如下：<br><br>1. 编写实现Module接口的类。Axis2模块在进行初始化、销毁等动作时会调用该类中相应的方法）。<br><br>2. 编写实现Handler接口的类。该类是Axis2模块的业务处理类。<br><br>3. 编写module.xml文件。该文件放在META-INF目录中，用于配置Axis2模块。<br><br>4. 在axis2.xml文件中配置Axis2模块。<br><br>5. 在services.xml文件中配置Axis2模块。每一个Axis2模块都需要使用<module>元素引用才能使用。<br><br>6. 发布Axis2模块。需要使用jar命令将Axis2模块压缩成.mar包（文件扩展名必须是.mar），然后将.mar文件放在<Tomcat安装目录>\webapps\axis2\WEB-INF\modules目录中。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/02/16/254826.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/254826.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-02-16 09:05 <a href="http://www.blogjava.net/nokiaguy/archive/2009/02/16/254826.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2(8)：异步调用WebService</title><link>http://www.blogjava.net/nokiaguy/archive/2009/02/13/254548.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Fri, 13 Feb 2009 06:23:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/02/13/254548.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/254548.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/02/13/254548.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/254548.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/254548.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在前面几篇文章中都是使用同步方式来调用WebService。也就是说，如果被调用的WebService方法长时间不返回，客户端将一直被阻塞，直到该方法返回为止。使用同步方法来调用WebService虽然很直观，但当WebService方法由于各种原因需要很长时间才能返回的话，就会使客户端程序一直处于等待状态，这样用户是无法忍受的。当然，我们很容易就可以想到解决问题的方法，这就是多线程。解决问题的基本方法是将访问WebService的任务交由一个或多个线程来完成，而主线程并不负责访问WebService。这样即使被访问的WebService方法长时间不返回，客户端仍然可以做其他的工作。我们可以管这种通过多线程访问WebService的方式称为异步访问。虽然直接使用多线程可以很好地解决这个问题，但比较麻烦。幸好Axis2的客户端提供了异步访问WebService的功能。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/02/13/254548.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/254548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-02-13 14:23 <a href="http://www.blogjava.net/nokiaguy/archive/2009/02/13/254548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2(7)：将Spring的装配JavaBean发布成WebService</title><link>http://www.blogjava.net/nokiaguy/archive/2009/02/13/254499.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Fri, 13 Feb 2009 01:14:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/02/13/254499.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/254499.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/02/13/254499.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/254499.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/254499.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在现今的Web应用中经常使用Spring框架来装载JavaBean。如果要想将某些在Spring中装配的JavaBean发布成WebService，使用Axis2的Spring感知功能是非常容易做到的。在本文的例子中，除了<Tomcat安装目录>\webapps\axis2目录及该目录中的相关库外，还需要Spring框架中的spring.jar文件，将该文件复制到<Tomcat安装目录>\webapps\axis2\WEB-INF\lib目录中。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/02/13/254499.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/254499.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-02-13 09:14 <a href="http://www.blogjava.net/nokiaguy/archive/2009/02/13/254499.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2(6)：跨服务会话(Session)管理</title><link>http://www.blogjava.net/nokiaguy/archive/2009/02/03/253154.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Tue, 03 Feb 2009 15:42:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/02/03/253154.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/253154.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/02/03/253154.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/253154.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/253154.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在《WebService大讲堂之Axis2(5)：会话（Session）管理》一文中介绍了如何使用Axis2来管理同一个服务的会话，但对于一个复杂的系统，不可能只有一个WebService服务，例如，至少会有一个管理用户的WebService（用户登录和注册）以及处理业务的WebService。象这种情况，就必须在多个WebService服务之间共享会话状态，也称为跨服务会话(Session)管理。实现跨服务会话管理与实现同一个服务的会话管理的步骤类似，但仍然有一些差别，实现跨服务会话管理的步骤如下：<br><br>实现跨服务的Session管理需要如下三步：<br><br>1. 使用MessageContext和ServiceGroupContext获得与设置key-value对。<br><br>2. 为要进行Session管理的WebService类所对应的<service>元素添加一个scope属性，并将该属性值设为application。<br><br>3. 在客户端使用setManageSession(true)打开Session管理功能。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/02/03/253154.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/253154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-02-03 23:42 <a href="http://www.blogjava.net/nokiaguy/archive/2009/02/03/253154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2(5)：会话（Session）管理</title><link>http://www.blogjava.net/nokiaguy/archive/2009/01/26/252564.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Sun, 25 Jan 2009 16:00:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/01/26/252564.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/252564.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/01/26/252564.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/252564.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/252564.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 使用Axis2来管理WebService的会话（Session）状态基本上对于开发人员是透明的。在WebService类需要使用org.apache.axis2.context.MessageContext和org.apache.axis2.context.ServiceContext类来保存与获得保存在服务端的状态信息，这有些象使用HttpSession接口的getAttribute和setAttribute方法获得与设置Session域属性。<div align="center"><img src="http://www.blogjava.net/images/blogjava_net/nokiaguy/n/bn1.jpg" class="desc_img"/></div>&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/01/26/252564.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/252564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-01-26 00:00 <a href="http://www.blogjava.net/nokiaguy/archive/2009/01/26/252564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2(4)：二进制文件传输</title><link>http://www.blogjava.net/nokiaguy/archive/2009/01/22/252305.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Thu, 22 Jan 2009 02:28:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/01/22/252305.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/252305.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/01/22/252305.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/252305.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/252305.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在WebService类中除了可以使用byte[]作为传输二进制的数据类型外，也可以使用javax.activation.DataHandler作为数据类型。 不管是使用byte[]，还是使用javax.activation.DataHandler作为WebService方法的数据类型，使用wsdl2java命令生成的stub类中相应方法的类型都是javax.activation.DataHandler。而象使用.net、delphi生成的stub类的相应方法类型都是byte[]。这是由于javax.activation.DataHandler类是Java特有的，对于其他语言和技术来说，并不认识javax.activation.DataHandler类，因此，也只有使用最原始的byte[]了。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/01/22/252305.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/252305.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-01-22 10:28 <a href="http://www.blogjava.net/nokiaguy/archive/2009/01/22/252305.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2(3)：使用services.xml文件发布WebService</title><link>http://www.blogjava.net/nokiaguy/archive/2009/01/21/252255.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Wed, 21 Jan 2009 10:08:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/01/21/252255.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/252255.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/01/21/252255.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/252255.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/252255.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在本文将介绍一下如何使用services.xml文件将带包的POJO类发布成WebService，以及如何发布多个WebService。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/01/21/252255.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/252255.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-01-21 18:08 <a href="http://www.blogjava.net/nokiaguy/archive/2009/01/21/252255.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2（2）：复合类型数据的传递</title><link>http://www.blogjava.net/nokiaguy/archive/2009/01/04/249805.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Sun, 04 Jan 2009 15:41:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/01/04/249805.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/249805.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/01/04/249805.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/249805.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/249805.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在实际的应用中，不仅需要使用WebService来传递简单类型的数据，有时也需要传递更复杂的数据，这些数据可以被称为复合类型的数据。数组与类（接口）是比较常用的复合类型。在Axis2中可以直接使用将WebService方法的参数或返回值类型声明成数组或类（接口）。但要注意，在定义数组类型时只能使用一维数组，如果想传递多维数组，可以使用分隔符进行分隔。在传递类的对象实例时，除了直接将数组类型声明成相应的类或接口，也可以将对象实例进行序列化，也就是说，将一个对象实例转换成字节数组进行传递，然后接收方再进行反序列化，还原这个对象实例。本文的示例代码演示了如何传递数组与类（接口）类型的数据，并演示如何使用字节数组上传图像。本示例的客户端代码使用Java和C#编写。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/01/04/249805.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/249805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-01-04 23:41 <a href="http://www.blogjava.net/nokiaguy/archive/2009/01/04/249805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebService大讲堂之Axis2（1）：用POJO实现0配置的WebService</title><link>http://www.blogjava.net/nokiaguy/archive/2009/01/02/249556.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Fri, 02 Jan 2009 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/01/02/249556.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/249556.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/01/02/249556.html#Feedback</comments><slash:comments>35</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/249556.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/249556.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Axis2是一套崭新的WebService引擎，该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2，还集成了非常流行的REST WebService，同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService，并在客户端使用Java和C#调用这个WebService。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/01/02/249556.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/249556.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-01-02 17:17 <a href="http://www.blogjava.net/nokiaguy/archive/2009/01/02/249556.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>