扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年9月22日
关键字:
在本页阅读全文(共3页)
3.4我们开始实现我们的WebService Server端
Java6.0实现WebService也很简单,我直接贴代码了。Server端如下,如果不太懂,还是建议看后面的参考资料
package cn.heapstack.ws.server;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.Date;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import cn.heapstack.rmi.interfaces.IBridge;
@WebService(targetNamespace = "http://www.heapstack.cn/ws/MyTimeServer")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class MyTimeServer

{
@WebMethod
public String getServerTime()
{
//通常的做法
//return new Date(System.currentTimeMillis()).toString();
//这里我想要调用RMI,取得另一个JVM中程序调用的结果,当然这个JVM可以在两外一台机器上运行
//这里WebService的Server 其实是RMI的 Client
Date date = null;
try
{
IBridge bridge = (IBridge) Naming.lookup("bridge");
date = bridge.getDate();
return date.toString();
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
}
package cn.heapstack.ws.server;
import javax.xml.ws.Endpoint;
import cn.heapstack.ws.server.MyTimeServer;
public class Main

{
public static void main(String[] args)
{
Endpoint.publish("http://localhost:8435/MyTimeServer", new MyTimeServer());
}
}
package cn.heapstack.ws.client;
import cn.heapstack.ws.mytimeserver.*;
public class WSClient

{

/** *//**
* @param args
*/
public static void main(String[] args)
{
//自动生成的代码 WebService的Stub
MyTimeServerService ws = new MyTimeServerService();
//自动生成的代码 WebService的实例类
MyTimeServer service = ws.getMyTimeServerPort();
//调用WebService,WebSerivce会调用RMI的方法获得返回结果
String date = service.getServerTime();
System.out.println("WS Client get:"+ date );
}
}
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。