您的位置:首页 > 运维架构 > Tomcat

初步接触webservice,以及demo

2013-09-28 07:51 281 查看
我最近由于工作方面的原因接触到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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  webservice tomcat