创建Web Service
1.新建Web Project项目
2.右击项目->Myeclipse->Add XFire Web Service,弹窗详细设置如图:
4.系统自动增加文件分析:
service.xml
IHelloWorld.java
HelloWorldImpl.java
5.发布运行项目,显示WSDL
这个 Web 服务监听 的地址 是在:
http://localhost:8080/HelloWorldService/services/HelloWorld ,当我们企图直接访问时,将
会得到一段报错信息:
Invalid SOAP request.
即:无效的SOAP请求。然而, 按照Web 服务的规范,所有的Web 服务都必须提供WSDL描述,那么这里的Web服务也支持,只需要加入?wsdl参数就可以了。访问如下地址:
http://localhost:8080/HelloWorldService/services/HelloWorld?wsdl ,
得到的输出如下(可以看出WSDL 的确不是给人看的):
创建Java测试客户端
我们需要在 HelloWorldService 这个项目中创建一个类。首先要做的一步就是将类库 XFire HTTP Client Libraries 添加到项目的构造路径中去。首先在Package Explore 视图中,右键点击项目根节点,然后选中菜单 Build Path > Add Library,接着在弹出的 Add Library对话框中,选中列表项中的 MyEclipse Libraries,然后点击Next按钮进入下一页,选中此页列表中的XFire 1.2 HTTP Client Libraries,如图15.15
所示。最后点击 Finish 按钮结束添加类库的过程。 如图:
随后我们就可以新建客户端类来进行测试了,创建一个类 client.HelloWSClient,源代码清单如下:
OK,现在运行这个类,可以得到预期的结果:
你好, 这是我的第一个 Web Service, 你输入的消息是:hello world Java 客户端测试
1.新建Web Project项目
2.右击项目->Myeclipse->Add XFire Web Service,弹窗详细设置如图:
3.创建Web Service,弹窗详细设置如图:
4.系统自动增加文件分析:
service.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloWorld</name>
<serviceClass>hellows.IHelloWorld</serviceClass>
<implementationClass>
hellows.HelloWorldImpl
</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service></beans>
IHelloWorld.java
package hellows;
//Generated by MyEclipse
public interface IHelloWorld {
public String example(String message);
}
HelloWorldImpl.java
package hellows;
//Generated by MyEclipse
public class HelloWorldImpl implements IHelloWorld {
public String example(String message) {
System.out.println(this);
return "你好,这是我的第一个Web Service,你输入的消息是:"+message;
}
}
5.发布运行项目,显示WSDL
这个 Web 服务监听 的地址 是在:
http://localhost:8080/HelloWorldService/services/HelloWorld ,当我们企图直接访问时,将
会得到一段报错信息:
Invalid SOAP request.
即:无效的SOAP请求。然而, 按照Web 服务的规范,所有的Web 服务都必须提供WSDL描述,那么这里的Web服务也支持,只需要加入?wsdl参数就可以了。访问如下地址:
http://localhost:8080/HelloWorldService/services/HelloWorld?wsdl ,
得到的输出如下(可以看出WSDL 的确不是给人看的):
创建Java测试客户端
我们需要在 HelloWorldService 这个项目中创建一个类。首先要做的一步就是将类库 XFire HTTP Client Libraries 添加到项目的构造路径中去。首先在Package Explore 视图中,右键点击项目根节点,然后选中菜单 Build Path > Add Library,接着在弹出的 Add Library对话框中,选中列表项中的 MyEclipse Libraries,然后点击Next按钮进入下一页,选中此页列表中的XFire 1.2 HTTP Client Libraries,如图15.15
所示。最后点击 Finish 按钮结束添加类库的过程。 如图:
随后我们就可以新建客户端类来进行测试了,创建一个类 client.HelloWSClient,源代码清单如下:
package wsclient;
import java.net.MalformedURLException;
import hellows.IHelloWorld;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.*;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
public class HelloWSClient {
public static void main(String[] args) {
Service srvcModel = new ObjectServiceFactory()
.create(IHelloWorld.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());
String helloWorldURL =
"http://127.0.0.1:8080/HelloWorldXFire/services/HelloWorld";
try {
IHelloWorld srvc = (IHelloWorld) factory.create(
srvcModel, helloWorldURL);
String result = srvc.example("hello world Java 客户端测试");
System.out.print(result);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
OK,现在运行这个类,可以得到预期的结果:
你好, 这是我的第一个 Web Service, 你输入的消息是:hello world Java 客户端测试