微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

初步接触webservice,以及demo

我最近由于工作方面的原因接触到webservice,怕自己以后会用到,所以记下来吧。

1.首先新建一个工程。可以是Web Project,也可以是Web Service Project。

2.然后导入 jar包,在myeclipe里面可以右键项目-->Buildpath-->Configure Build Path -->Add Library-->MyEclipse Library -->选择XFire 1.2 Core Libraries和XFire 1.2 HTTP Client Libraries。如果不是myeclipse我下面有把这个需要的jar打包了可以下载。

3.配置webService的控制器。在项目的Webroot/WEB-INF/web.xml中配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.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>
4.写我们的webService服务,我这个是一个demo我就建了一个接口一个实现类主要就是模拟下效果

package cn.com.pansky.webservice.xfire.study;

public interface SayHiService {

	public String sayHi(String name);
	
	
}

package cn.com.pansky.webservice.xfire.study;

public class SayHiServiceImpl implements SayHiService {

	public String sayHi(String name) {
		if (name == null) {
			return "连名字也不肯告诉我么?";
		} else {
			return name + " ,你吃了么?没吃回家吃去吧!";
		}
	}	

}
5.然后我们把我们配置的服务配置起来,我的做法是在根目录下面新建了一个WebServices目录,然后在里面新建了一个services.xml,如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<service>
		<name>SayHiService</name>
		<namespace>http://cn.com.pansky/SayHiService</namespace>
		<serviceClass>cn.com.pansky.webservice.xfire.study.SayHiService
		</serviceClass>
		<implementationClass>cn.com.pansky.webservice.xfire.study.SayHiServiceImpl
		</implementationClass>
	</service>
</beans>

6.然后我们就可以把我们的服务给启动起来,我是直接把项目放在tomcat里面运行就好了。我们来访问一下看看。那么下面的就是我们配置的SayHiService了。


7.然后我们怎么去调用我们的webService服务呢?

package cn.com.pansky.webservice.xfire.study;

import java.net.MalformedURLException;

import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import org.codehaus.xfire.transport.http.CommonsHttpMessageSender;

public class SayHiClient {
	public static void main(String[] args) {
		String serviceURL = "http://localhost:8080/webServiceDemo/services/SayHiService";
		Service serviceModel = new ObjectServiceFactory().create(
				SayHiService.class,null,"http://cn.com.pansky/SayHiService",null);
		XFireProxyFactory serviceFactory = new XFireProxyFactory();
		try {
			SayHiService service = (SayHiService) serviceFactory.create(
					serviceModel,serviceURL);
			Client client = Client.getInstance(service);
			client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT,"10");
			String hello = service.sayHi("张三疯");
			System.out.println("服务器对[张三疯]的回答是:" + hello);
			hello = service.sayHi(null);
			System.out.println("服务器胡言乱语说:" + hello);
		} catch (MalformedURLException e) {
			e.printstacktrace();
		}
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐