你的位置:首页 > Java教程

[Java教程]Java中使用webservice,简化开发(xfire的webservice)

首先,使用到的jar先导入项目中,

xbean-spring-2.8.jar, wsdl4j-1.6.1.jar, commons-httpclient-3.0.jar, commons-codec-1.3.jar, xfire-all-1.2.6.jar,

commons-logging-1.0.4.jar, jdom-1.0.jar, 这9个包是xfire实现服务器端的webservice主要的包,包含访问webservice和生成webservice

 

1. 访问webservice文件:

  

public static String visit(String method, Object[] params) throws Exception{    Client client = new Client(new URL(URL_SPAC));    client.setTimeout(5000);  //访问超过5秒钟超时    //设置访问的方法和参数    Object[] results = client.invoke(method, params);     return results[0].toString();}

很简单,就这么几句代码就搞定。 URL_space为http://xxx:8080/WebServices/xxx.asmx?WSDL,就是webservice的访问地址,但一定要到 ?wsdl

暂时没有解决调用端使用数组参数。

 

2. 生成webservice

在src下新建 META-INF/xfire/services.

<??><beans ="http://xfire.codehaus.org/config/1.0">  <service>    <name>webservice名称</name>    <serviceClass>java接口类路径</serviceClass>    <implementationClass>java接口实现类路径</implementationClass>    <style>wrapped</style>    <use>literal</use>    <scope>application</scope>  </service></bean>

在web.

<servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>

这样,一个访问名称为 webservice名称 的webservice就启动起来了