Myeclipse 搭建 webservice XFire

oMMing 2011-05-05

Myeclipse6.0搭建webserviceXFire

1.新建web工程名为wsdemo

2.右键wsdemo》MyEclipse》AddWebservicecapabilities》Next》

√MyEclipseLibraries》

√Xfire1.2CoreLibraries

√Xfire1.2HTTPClientLibraries

》Finish

3.服务端结构

4.浏览器测试

http://127.0.0.1:6666/wsdemo/services?wsdl

点击wsdl,出现个想xml的东东表示ok。

服务端ok。

--------------------------------------------------------------------

下面是客户端

客户端以Stringurl="http://127.0.0.1:6666/wsdemo/services/weather";访问(url最好写到配置文件)。

客户端结构:

附录1.服务端代码

1.
package com.itjob.dao;

public interface GetWeather {
	public String get(int day);
}

2.

package com.itjob.dao.support;

import com.itjob.dao.GetWeather;

public class GetWeatherSupport implements GetWeather {

	public String get(int day) {
		// TODO Auto-generated method stub
		String result = "";
		switch (day) {
		case 1: result = "多云";break;
		case 2: result = "暴雨";break;
		case 3: result = "阴转雨加雪";break;
		case 4: result = "阳光灿烂";break;
		case 5: result = "零星小雨";break;
		case 6: result = "晴转多云";break;
		case 7 : result = "大雾";break;
		default : result ="天气不太明朗";break;
		}
		return result;
	}
}
3.services.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<service>
		<name>weather</name>
		<namespace>www.5itjob.com</namespace>
		<serviceClass>com.itjob.dao.GetWeather</serviceClass>
		<implementationClass>com.itjob.dao.support.GetWeatherSupport</implementationClass>
	</service>
</beans>
4.web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <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-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

附录2.客服端代码

1.
package com.itjob.dao;

public interface GetWeather {
	public String get(int day);
}
2.
package com.itjob.app;

import java.net.MalformedURLException;
import org.codehaus.xfire.XFire;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import com.itjob.dao.GetWeather;

public class MainApp {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Service service = new ObjectServiceFactory().create(GetWeather.class);
		XFire xFire = XFireFactory.newInstance().getXFire();
		XFireProxyFactory factory = new XFireProxyFactory(xFire);
		String url = "http://127.0.0.1:6666/wsdemo/services/weather";
		try {
			GetWeather gw  = (GetWeather) factory.create(service, url);
			System.out.println(gw.get(6));
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

运行main。。。

相关推荐