花了一天摸出来点门道,让大湿们贱笑一下。
WebService 当服务端
当服务端发布成 wsdl 协议可以用 XFire(可以直接配置生成 wsdl,可以与 Spring 相
结合),也可以用 Axis(手动配置 server- cong.wsdd 再通过命令生成 wsdl,不支持
Spring)WebService 开发要安装环境的,可以在网上看看,很简单。
这里以 XFire 为例(也以我的 Demo 为主,个人经验)
第一步:直接用 MyEclipse7.0(其他版本没试过)创建 Web Service Project(自己命
名)
我的 Demo 名称为 XFireBegin,在此项目下会比平常的项目多一个
WebServices 文件夹,里面有个 services.xml 文件,用来配 置接口,实现类和 wsdl
名称、wsdl 的命名空间(Axis 要在 server-cong.wsdd 手动配置)web.xml 中会自
动配置好 XFire 的支持 Servlet(Axis 要手动配置,并且支持的 servlet 也不同)
第二步:和平常一样建包、建接口、方法、实现这个接口。
以下是我的 Demo
接口包:com.svse.xre.service
接口名:XFireService
方法:String xreMethod(String name)
实现类包:com.svse.xre.service.impl
实现类名:XFireServiceImpl
方法:public String xreMethod(String name)
{
String temp=name+",欢迎学习 WebService 的 XFire 之旅";
return temp;
}
public void method(){
System.out.println("此方法 WebService 是调用不了的,因为没有此方法的
接口!");
}
在 此实现中多加了一个方法,主要是用来测试 WebService 没有发布的方法是没办法
被调用到的,就算实现发布的接口也没用。到此和我们平常创建项目没什 么区别,没
有一点 WebService 的影子,主要是在创建 Web Service Project 的时候,工程自
动帮我们把框架搭建起来了。
第三步:开始在 services.xml 中配置接口,实现类和 wsdl 名称、wsdl 的命名空间。
直接看我的 Demo 配置
<service>
<name>XFireFirst</name><!--wsdl 名称、由自己决定-->
<namespace>http://com.svse.xre/XFireFirst</namespace><!--wsdl 的
命名空间、也是可以自己决定的,但是最后的名字必须是 wsdl 名称-->
<serviceClass>com.svse.xre.service.XFireService</serviceClass><!--
接口-->
<implementationClass>com.svse.xre.service.impl.XFireServiceImpl</
implementationClass><!--实现类-->
</service>
评论3