加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

初步接触webservice,以及demo

发布时间:2020-12-17 00:05:08 所属栏目:安全 来源:网络整理
导读:我最近由于工作方面的原因接触到webservice,怕自己以后会用到,所以记下来吧。 1.首先新建一个工程。可以是Web Project,也可以是Web Service Project。 2.然后导入 jar包,在myeclipe里面可以右键项目--BuildPath--Configure Build Path --Add Library--MyE

我最近由于工作方面的原因接触到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();
		}
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读