Webservice for jdk web

本文介绍如何使用Java SE6及Eclipse开发基于SOAP的简单WebService应用,包括服务器端和客户端程序的创建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于工作需要,今天实现了一个webservice的test, 下面的不是我写的。谢谢前人的贡献!不过这个是利用jdk web服务api实现,基于 SOAP message 的 Web 服务。

问题是这个publish发布,通过尝试我发现只能本机localhost使用,只能算一个纯开发环境的部署。
===========================================================
Java SE 6 对Web Service的开发提供了完全的支持。下面让我们利用Eclipse在Java 6下进行一个简单的Web Service的开发,希望能给初学者带来好处。
1、 软件环境
1)、Eclipse
在http://www.eclipse.org/downloads/下载最新的Eclipse。
2)、JDK
在http://java.sun.com/javase/downloads/下载Java SE development kit 6
3)、Ant
使用Eclipse自带的Ant插件,不用另外安装。
2、 开发服务器端程序
1)、创建一个Java项目,命名为MyWebService_server

2)、创建一个简单的类,代码如下:
package test.ws;
import javax.jws.WebService;
@WebService
public class Hello {
public String sayHello(String name) {
return "Hello " + name + "!";
}
}
这个类有一个方法(sayHello),参数是一个字符串,代表一个人的名字,返回值也是一个字符串,意思是向这个人打招呼。这就是我们的WebService要提供的服务。
请注意类声明的前面有个annotation “@WebService”,这个注释的作用就是标明这个类是一个WebService。
2)、创建一个Ant脚本build.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project default="wsgen">
<target name="wsgen">
<exec executable="D:\jdk1.6.0\bin\wsgen.exe">
<arg line="-cp ./bin -keep -s ./src -d ./bin test.ws.Hello" />
</exec>
</target>
</project>
请根据你自己的jdk安装路径对上面内容做适当修改
3)、运行ant脚本


4)、刷新项目,查看生成的Java文件

5)、编写WebService启动程序
package test.ws;
import javax.xml.ws.Endpoint;
public class RunWebService {
public static void main(String[] args) {
Endpoint.publish("http://localhost:8000/hello", new Hello());
}
}
6)、启动WebService

7)、在IE中测试


3、 开发客户端程序
1)、创建一个新的Java项目,命名为MyWebservice_client

2)、创建Ant脚本build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project default="wsimport">
<target name="wsimport">
<exec executable="D:\jdk1.6.0\bin\wsimport.exe">
<arg line="-s ./src -d ./bin http://localhost:8000/hello?wsdl" />
</exec>
</target>
</project>

同样,请按您的jdk安装路径修改。
3)、运行ant脚本,生成客户端程序,刷新项目查看新生成的文件:

4)、编写测试程序,测试客户端。
package test.ws.call;

import test.ws.Hello;
import test.ws.HelloService;

public class CallWebService {
public static void main(String[] args) {
Hello hello = new HelloService().getHelloPort();
String str = hello.sayHello("Mike");
System.out.println(str);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值