JAVA WebService 服务端与动态客户端

 

近来想做一个通用数据交换接口平台,所以想到使用JAVA来设计WebService,而且事先是不知道服务端在哪里的,也有可能是多个服务端的,所以客户端必须是可配置的,动态的,经过一番研究,现贴出代码,以供日后学习。

 

首先,确定使用XFire框架,框架的部署就不提了。

一、服务端:WebServiceTest

1、接口类

package service;

 

public interface IHelloWorld { 

    //sayHello 方法声明了Web服务对外暴露的接口

    //@return

    public String sayHello(String ss,int nn);

    public Object[] test(Object a,Object b);
}
2、实现类

package service;

public class HelloWorldImpl implements IHelloWorld {

 public String sayHello(String ss,int nn) {
  // TODO Auto-generated method stub
  return "你输入的字符串是:"+ss+",整数是:"+nn;
 }
}
3、xml文件

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://xfire.codehaus.org/config/1.0">

    <service>

       <name>HelloWorldService</name>

       <namespace>http://localhost:8090/WebServiceTest

       </namespace>

       <serviceClass>service.IHelloWorld</serviceClass>

       <implementationClass>service.HelloWorldImpl

       </implementationClass>

    </service>

</beans>
 

二、客户端

package service;

import java.net.MalformedURLException;
import java.net.URL;

import org.codehaus.xfire.client.Client;

public class DynamicClientTest {
 public Object[] getWebService(String surl,String saction,Object[] objarr) throws MalformedURLException,Exception
 {
  Client client = new Client(new URL(surl));
  Object[] results = client.invoke(saction, objarr);
  return results;
 }
    public static void main(String[] args) throws MalformedURLException,Exception {
     DynamicClientTest web=new DynamicClientTest();
     Object[] results=web.getWebService("http://localhost:8090/WebServiceTest/services/HelloWorldService?wsdl", "sayHello", new Object[] { "黄京亮",100 });
     System.out.println(results[0]);

    }
}

三、测试

先运行服务端,然后再运行客户端,结果显示:你输入的字符串是:黄京亮,整数是:100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值