最近应项目需求、负责门户的单点登录、(不包括授权),紧紧是用户的注册的统一管理,但是有多个系统,这就用到了webservice,
以前竟听说了,知道怎么回事,但没实际用过,比较懒,自己做了一个demo,用的是XFire。自己也做个备忘吧。
服务端参照以下网址做的,感觉写得很详细
http://www.ibm.com/developerworks/cn/java/j-lo-xfire/index.html
客户端呢,代码如下:但是要注意客户端的接口要自己定义一下:HelloWorldService
//接口
public interface HelloWorldService {
/**
* sayHello 方法声明了 Web 服务对外暴露的接口
*
* @return 返回给客户端的字符串
*/
public String sayHello();
}
//调用
import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Service srModel = new ObjectServiceFactory()
.create(HelloWorldService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());//创建工厂实例
//这里不加?wsdl
//查看直接调用服务
String helloURL = "http://localhost:8080/WbXFire/services/HelloWorldService";
try {
HelloWorldService srvc = (HelloWorldService) factory.create(
srModel, helloURL);
System.out.print("/"+srvc.sayHello());
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
ok了。原来如此