Myeclipse5.X
支持xfire支持的非常棒。这里讲解一个简单的例子,此文章为引用文章,仅做保留,供学习参考使用。<!----><o:p></o:p>
一、服务端程序开发<o:p></o:p>
1
、首先建立一个web service工程
:<o:p></o:p>
<!---->
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">
<v:stroke joinstyle="miter">
</v:stroke>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0">
</v:f>
<v:f eqn="sum @0 1 0">
</v:f>
<v:f eqn="sum 0 0 @1">
</v:f>
<v:f eqn="prod @2 1 2">
</v:f>
<v:f eqn="prod @3 21600 pixelWidth">
</v:f>
<v:f eqn="prod @3 21600 pixelHeight">
</v:f>
<v:f eqn="sum @0 0 1">
</v:f>
<v:f eqn="prod @6 1 2">
</v:f>
<v:f eqn="prod @7 21600 pixelWidth">
</v:f>
<v:f eqn="sum @8 21600 0">
</v:f>
<v:f eqn="prod @7 21600 pixelHeight">
</v:f>
<v:f eqn="sum @10 21600 0">
</v:f>
</v:formulas>
<v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f">
</v:path>
<o:lock aspectratio="t" v:ext="edit">
</o:lock>
</v:shapetype>
<v:shape id="_x0000_i1025" style="WIDTH: 265.5pt; HEIGHT: 321pt" type="#_x0000_t75" alt="">
<v:imagedata src="file:///D:\Winbak\Temp\msohtml1\01\clip_image001.gif" o:href="/images/blogjava_net/killme2008/new_wizard1.gif">
</v:imagedata>
</v:shape>
<o:p>
</o:p>
<v:shape id="_x0000_i1026" style="WIDTH: 328.5pt; HEIGHT: 312pt" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image002.png">
</v:imagedata>
</v:shape>
<o:p>
</o:p>
<v:shape id="_x0000_i1027" style="WIDTH: 345pt; HEIGHT: 308.25pt" type="#_x0000_t75" alt="">
<v:imagedata src="file:///D:\Winbak\Temp\msohtml1\01\clip_image004.gif" o:href="/images/blogjava_net/killme2008/new_wizard3.gif">
</v:imagedata>
</v:shape>
<o:p>
</o:p>
<v:shape id="_x0000_i1028" style="WIDTH: 339.75pt; HEIGHT: 276pt" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image005.png">
</v:imagedata>
</v:shape>
<o:p>
</o:p>
点击finish之后,myeclipse自动帮你生成services.xml以及web应用目录结构,其中的services.xml是你导出服务的配置文件,注意在WEB-INF/web.xml文件中配置了xfire自己的:<o:p></o:p>
Servlet
代码<o:p></o:p>
<servlet> <o:p></o:p>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
<o:p>
</o:p>
<load-on-startup>0</load-on-startup> <o:p></o:p>
</servlet> <o:p></o:p>
<servlet-mapping> <o:p></o:p>
<servlet-name>XFireServlet</servlet-name> <o:p></o:p>
<url-pattern>/services/*</url-pattern> <o:p></o:p>
</servlet-mapping> <o:p></o:p>
<o:p>
</o:p>
2
、接下来,现在编写要导出的pojo类
,首先是接口:<o:p></o:p>
<v:shape id="_x0000_i1029" style="WIDTH: 252.75pt; HEIGHT: 383.25pt" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image007.png">
</v:imagedata>
</v:shape>
<o:p>
</o:p>
过程:File>New>Other>MyEclipse>Web Service<o:p></o:p>
<v:shape id="_x0000_i1030" style="WIDTH: 347.25pt; HEIGHT: 237.75pt" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image009.png">
</v:imagedata>
</v:shape>
<o:p>
</o:p>
选择:Create web service from Java bean,把Create new javabean也勾上<o:p></o:p>
3
、在导航页面中,输入<o:p></o:p>
web service name:HelloWorldTest<o:p></o:p>
java package : services<o:p></o:p>
services Interface : HelloWorldTestRemote<o:p></o:p>
services impl.class :
HelloWorldTestBean<o:p></o:p>
<v:shape id="_x0000_i1031" style="WIDTH: 347.25pt; HEIGHT: 333pt" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image011.png">
</v:imagedata>
</v:shape>
<o:p>
</o:p>
其他的默认,点finish<o:p></o:p>
最后可以看到Web Services 下面的services.xml的内容如下<o:p></o:p>
<?xml version="1.0" encoding="UTF-8"?><o:p></o:p>
<beans xmlns="http://xfire.codehaus.org/config/1.0"><o:p></o:p>
<service><o:p></o:p>
<name>HelloWorldTest</name><o:p></o:p>
<serviceClass>services.HelloWorldTestRemote</serviceClass> <implementationClass>services.HelloWorldTestBean</implementationClass><o:p></o:p>
<style>wrapped</style><o:p></o:p>
<use>literal</use><o:p></o:p>
<scope>application</scope><o:p></o:p>
</service><o:p></o:p>
</beans><o:p></o:p>
4
、services包中的文件
:<o:p></o:p>
HelloWorldTestRemote.java<o:p></o:p>
-----------------------------------------------<o:p></o:p>
package services;<o:p></o:p>
public interface HelloWorldTestRemote <o:p></o:p>
{ <o:p></o:p>
public String example(String message); <o:p></o:p>
}<o:p></o:p>
----------------------------------------------------------<o:p></o:p>
HelloWorldTestImpl.java<o:p></o:p>
----------------------------------------------------<o:p></o:p>
package services;<o:p></o:p>
public class HelloWorldTestBean implements HelloWorldTestRemote <o:p></o:p>
{<o:p></o:p>
public String example(String message) <o:p></o:p>
{<o:p></o:p>
return "Hello:"+message;<o:p></o:p>
} <o:p></o:p>
}<o:p></o:p>
------------------------------------------------------------<o:p></o:p>
到此为止webServices编码工作完成,现在开始部署到tomcat这里省略。<o:p></o:p>
部署好后可以测试下:<o:p></o:p>
(1)查看可用的服务<o:p></o:p>
http://localhost:8080/HelloWorld/services
<o:p>
</o:p>
(2)查看wsdl<o:p></o:p>
http://localhost:8080/HelloWorld/services/HelloWorldTest?wsdl
<o:p>
</o:p>
<o:p> </o:p>
/////////////////////////////////////////////////////////////////////////////<o:p></o:p>
/////////////////////////////////////////////////////////////////////////////<o:p></o:p>
二、客户端应用程序开发<o:p></o:p>
1
、新建工程useWebService,并且建立client和services包<o:p></o:p>
2
、bulid path中导入,XFire 1.1 core libraries和XFire 1.1 HTTP client libraries.<o:p></o:p>
<v:shape id="_x0000_i1032" style="WIDTH: 393.75pt; HEIGHT: 320.25pt" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image013.png">
</v:imagedata>
</v:shape>
<o:p>
</o:p>
SayHello.java<o:p></o:p>
----------------------------------------<o:p></o:p>
package client;<o:p></o:p>
import java.net.MalformedURLException;<o:p></o:p>
import org.codehaus.xfire.XFireFactory;<o:p></o:p>
import org.codehaus.xfire.client.XFireProxyFactory;<o:p></o:p>
import org.codehaus.xfire.service.Service;<o:p></o:p>
import org.codehaus.xfire.service.binding.ObjectServiceFactory;<o:p></o:p>
import services.HelloWorldTestRemote;<o:p></o:p>
public class SayHello <o:p></o:p>
{<o:p></o:p>
public String say(String name) <o:p></o:p>
{<o:p></o:p>
String result = "";<o:p></o:p>
Service srvcModel = new ObjectServiceFactory().create(HelloWorldTestRemote.class);<o:p></o:p>
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());<o:p></o:p>
String helloWorldURL = "http://localhost:8080/HelloWorld/services/HelloWorldTest";<o:p></o:p>
try <o:p></o:p>
{<o:p></o:p>
HelloWorldTestRemote srvc = (HelloWorldTestRemote) factory.create(srvcModel, helloWorldURL);<o:p></o:p>
result = srvc.example(name);<o:p></o:p>
System.out.println(result);<o:p></o:p>
} <o:p></o:p>
catch (MalformedURLException e) <o:p></o:p>
{<o:p></o:p>
e.printStackTrace();<o:p></o:p>
} finally <o:p></o:p>
{<o:p></o:p>
return result;<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
--------------------------------------------------------------<o:p></o:p>
HelloWorldTestRemote.java<o:p></o:p>
---------------------------------------------------------------<o:p></o:p>
package services;<o:p></o:p>
<o:p> </o:p>
public interface HelloWorldTestRemote <o:p></o:p>
{<o:p></o:p>
public String example(String message);<o:p></o:p>
}-----------------------------------------------------------------<o:p></o:p>
创建index.jsp,body部分<o:p></o:p>
-----------------------<o:p></o:p>
<form name="form1" action="say.jsp" method="POST"><o:p></o:p>
您的大名:<input name="userName" type="text"/> <input value="提交" type="submit"/> <o:p></o:p>
</form><o:p></o:p>
-------------------------------<o:p></o:p>
创建say.jsp,body部分<o:p></o:p>
----------------------------------------------------------------<o:p></o:p>
<%<o:p></o:p>
String name=(String)request.getParameter("userName"); <o:p></o:p>
String result=new SayHello().say(name);<o:p></o:p>
out.print(result);<o:p></o:p>
%><o:p></o:p>
webService
远程调用结果: <%=result %><o:p></o:p>
------------------------------------------------------------------------<o:p></o:p>
运行下测试!OK<o:p></o:p>
分享到:
相关推荐
使用eclipse导入项目,既可使用。 【webservice----xfire 快速入门代码实训】----<下载不扣分,回帖加1分,欢迎下载,童叟无欺>
xfire实现webservice实例,XFire WebService开发快速起步
webService-xfire入门 webService-xfire入门
NULL 博文链接:https://zhangzhaoaaa.iteye.com/blog/1718819
XFire--Webservice入门xfire
webservice-xfire
基于WebService技术的xfire架构和axis架构的开发指南 及WebService相关介绍
spring+xfire( 编写webservice完整配置+案例)
XFire-WebService 开发基础教程 有图有真相 XFire-WebService 开发基础教程XFire-WebService 开发基础教程
WebService 之XFire 开发文档和代码例子
本例子使用XFire发布WebService+XFire调用WebService-示例
我整理了一下使用XFire1.2.6进行Web Service开发的思路,尝试完成了一个入门实例(完整的MyEclipse项目)。如果你正在学习Web Service或者对这个有兴趣,你可以下载该附件,导入MyEclipse中运行以查看示例效果。希望...
其他common相关的包请自己从配置; 具体如何使用xfire发布webservice服务以及如何通过xfire调用webservice接口在很多网站都有介绍,这里就不说明了。
用XFire开发WebService Spring注解
在MyEclipse中使用XFire开发WebService WebService开发
demo是一个小的webservice开发,下载下来部署到tomcat下直接运行。 运行地址:http://127.0.0.1:8080/XFireTest/services XFireTest——项目名称
WebService教程-xfire学习手册
使用xfire开发webservice的客户端需要的完整jar包,直接导入开放就可以用了。使用Xfire构建JAVA的webService全过程(从服务端到客户端)
java使用XFire调用webService接口