eclipse3.6+XFire webservice入门

最近学习了一下webservice方面的东西。当然也是入门而已下面来介绍下我的学习成果
PS:若有高手回帖,请手下留情。小弟只是入门而已。分享下学习心得。

至于XFIRE方面的介绍大家直接去官方地址下载相关资料。

简历个web工程。建立接口和实现类
package demo;

public interface HelloService {
public String sayHello(String name);
}

package demo;

public class HelloServiceImp implements HelloService {
public HelloServiceImp() {

}
@Override
public String sayHello(String name) {
return name + ",你好!";
}

}

接下来在web-inf下的META-INF中建立xfire文件。然后简历services.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloWebService</name>
<serviceClass>demo.HelloWebService</serviceClass>
</service>
<service>
<name>HelloService</name>
<serviceClass>demo.HelloService</serviceClass>
<implementationClass>demo.HelloServiceImp</implementationClass>
</service>
</beans>


到此为止 webservice服务端代码已经构建完成。接下来是客户端

在这里我用了两种方法。
1:xfire eclipse plugs
2:非插件形式
第一种比较简单。通过xfire eclipse plugs
新建个亿java工程,然后工程---new--orther--xfire 填入相关jar
建立客户端类:
package wsClient;

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

import org.codehaus.xfire.client.Client;

import client.HelloWebServiceClient;
import client.HelloWebServicePortType;

public class Invoke {
// 通过插件方式获取
public static String invokeServiceNow(String yourName){
HelloWebServiceClient service = new HelloWebServiceClient();
HelloWebServicePortType port = service.getHelloWebServiceHttpPort();
return port.sayHello(yourName);
}
//通过获取wsdl URL方式
public static String invokeServiceTwo() throws MalformedURLException, Exception{
String wsdl = "http://localhost:8080/webServiceDemo/services/HelloWebService?wsdl";
Client client = new Client(new URL(wsdl));

Object[] results = client.invoke("sayHello", new Object[] { "Firends" });
return (String) results[0];
}




public static void main(String[] args) throws MalformedURLException, Exception {
String yourName ="Viken";
System.out.println(Invoke.invokeServiceNow(yourName));
System.out.println(Invoke.invokeServiceTwo());

}

}


第二种非插件方式,直接在服务端工程建立客户端类
package demo;

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 Client {

public static void main(String[] args) {
Service serviceModel = new ObjectServiceFactory().create(HelloService.class);

XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String url ="http://localhost:8080/webServiceDemo/services/HelloService";

try {
HelloService hwvs= (HelloService)factory.create(serviceModel, url);
System.out.println(hwvs.sayHello("大猫"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};

}

}


这里我帖一下我学习时用到的博客地址,感谢一下博客地址作者的知识共享
http://www.blogjava.net/fastzch/archive/2008/08/26/172535.html
http://www.blogjava.net/fastzch/archive/2008/08/28/225439.html
http://blog.csdn.net/ynpp/archive/2008/01/08/2030552.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值