最近学习了一下webservice方面的东西。当然也是入门而已下面来介绍下我的学习成果
PS:若有高手回帖,请手下留情。小弟只是入门而已。分享下学习心得。
至于XFIRE方面的介绍大家直接去官方地址下载相关资料。
简历个web工程。建立接口和实现类
接下来在web-inf下的META-INF中建立xfire文件。然后简历services.xml
到此为止 webservice服务端代码已经构建完成。接下来是客户端
在这里我用了两种方法。
1:xfire eclipse plugs
2:非插件形式
第一种比较简单。通过xfire eclipse plugs
新建个亿java工程,然后工程---new--orther--xfire 填入相关jar
建立客户端类:
第二种非插件方式,直接在服务端工程建立客户端类
这里我帖一下我学习时用到的博客地址,感谢一下博客地址作者的知识共享
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
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