WebService 实例应用
2013-04-18 00:07
218 查看
两个工程 分别部署在两台电脑上:webservice_client 客户端 webservice_server:服务器端
先说服务器 导入jar包
改写xml文件:
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>com.rainspnsor.webservice.CXFNonSpringServiceImpl</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
然后创建类:
1 util中:先写个实体
package com.rainspnsor.util;
public class SysRequest {
/**
* 请求的文本内容
*/
private String reqText;
public String getReqText() {
return reqText;
}
public void setReqText(String reqText) {
this.reqText = reqText;
}
}
2再写个接口:
package com.rainspnsor.util;
public interface IHelloService {
/**
* 发送信息
* @param sysRequest
*/
public void sendMsg(SysRequest sysRequest);
public String getRespons();
public String getString();
}
3 写接口的实现类:
package com.rainspnsor.util;
public class HelloServiceImpl implements IHelloService {
public void sendMsg(SysRequest sysRequest) {
System.out.println("发送的信息为:"+sysRequest.getReqText());
System.out.println("=============");
}
public String getRespons() {
System.out.println("看看能接受到么");
return "看看能接受到么";
}
public String getString() {
return "999999";
}
}
4 CXF 类的配置:
package com.rainspnsor.webservice;
import javax.servlet.ServletConfig;
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.apache.cxf.frontend.ServerFactoryBean;
import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
import com.rainspnsor.util.HelloServiceImpl;
import com.rainspnsor.util.IHelloService;
public class CXFNonSpringServiceImpl extends CXFNonSpringServlet{
private static final long serialVersionUID = 1L;
@Override
protected void loadBus(ServletConfig sc) {
super.loadBus(sc);
//构建并设置了传输对象
Bus bus = getBus();
BusFactory.setDefaultBus(bus);
ServerFactoryBean serverFB = new ServerFactoryBean();
//设置webservice对应的接口
serverFB.setServiceClass(IHelloService.class);
//设置服务请求地址
serverFB.setAddress("/hello");
//设置服务的实现
serverFB.setServiceBean(new HelloServiceImpl());
//通过工厂创建服务
serverFB.create();
}
}
服务器配置搞定了!
然后是客户端 一个Java工程
1 还是建实体 :
package com.rainsponsor.util;
public class SysRequest {
/**
* 请求的文本内容
*/
private String reqText;
public String getReqText() {
return reqText;
}
public void setReqText(String reqText) {
this.reqText = reqText;
}
}
2 配置接口 !!!接口一定要和服务器端的接口一致
package com.rainsponsor.util;
public interface IHelloService {
/**
* 发送信息
* @param sysRequest
*/
public void sendMsg(SysRequest sysRequest);
public String getRespons();
public String getString();
}
3 在客户端中写信息:
package com.rainsponsor.client;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import com.rainsponsor.util.IHelloService;
import com.rainsponsor.util.SysRequest;
public class WebserviceTestUtils {
/**
* @param args
*/
public static void main(String[] args) {
SysRequest sysRequest = new SysRequest();
sysRequest.setReqText("RP省架构订单,望审核!");
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setAddress("http://192.168.0.123:8080/webservice_server/services/he");
IHelloService helloService = factory.create(IHelloService.class);
// helloService.sendMsg(sysRequest);
String response = helloService.getString();
System.out.println(response);
}
}
最后 服务器必须运行
在客户端中运行方法 在服务器就会显示 !
webservice 中 必须记住的几样
1 SOAP
即简单对象访问协议(Simple
Object Access Protocol),它是用于交换XML编码信息的轻量级协议。
2
WSDL
Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。
3 额。。。3是什么我给忘了 以后补充
先说服务器 导入jar包
改写xml文件:
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>com.rainspnsor.webservice.CXFNonSpringServiceImpl</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
然后创建类:
1 util中:先写个实体
package com.rainspnsor.util;
public class SysRequest {
/**
* 请求的文本内容
*/
private String reqText;
public String getReqText() {
return reqText;
}
public void setReqText(String reqText) {
this.reqText = reqText;
}
}
2再写个接口:
package com.rainspnsor.util;
public interface IHelloService {
/**
* 发送信息
* @param sysRequest
*/
public void sendMsg(SysRequest sysRequest);
public String getRespons();
public String getString();
}
3 写接口的实现类:
package com.rainspnsor.util;
public class HelloServiceImpl implements IHelloService {
public void sendMsg(SysRequest sysRequest) {
System.out.println("发送的信息为:"+sysRequest.getReqText());
System.out.println("=============");
}
public String getRespons() {
System.out.println("看看能接受到么");
return "看看能接受到么";
}
public String getString() {
return "999999";
}
}
4 CXF 类的配置:
package com.rainspnsor.webservice;
import javax.servlet.ServletConfig;
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.apache.cxf.frontend.ServerFactoryBean;
import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
import com.rainspnsor.util.HelloServiceImpl;
import com.rainspnsor.util.IHelloService;
public class CXFNonSpringServiceImpl extends CXFNonSpringServlet{
private static final long serialVersionUID = 1L;
@Override
protected void loadBus(ServletConfig sc) {
super.loadBus(sc);
//构建并设置了传输对象
Bus bus = getBus();
BusFactory.setDefaultBus(bus);
ServerFactoryBean serverFB = new ServerFactoryBean();
//设置webservice对应的接口
serverFB.setServiceClass(IHelloService.class);
//设置服务请求地址
serverFB.setAddress("/hello");
//设置服务的实现
serverFB.setServiceBean(new HelloServiceImpl());
//通过工厂创建服务
serverFB.create();
}
}
服务器配置搞定了!
然后是客户端 一个Java工程
1 还是建实体 :
package com.rainsponsor.util;
public class SysRequest {
/**
* 请求的文本内容
*/
private String reqText;
public String getReqText() {
return reqText;
}
public void setReqText(String reqText) {
this.reqText = reqText;
}
}
2 配置接口 !!!接口一定要和服务器端的接口一致
package com.rainsponsor.util;
public interface IHelloService {
/**
* 发送信息
* @param sysRequest
*/
public void sendMsg(SysRequest sysRequest);
public String getRespons();
public String getString();
}
3 在客户端中写信息:
package com.rainsponsor.client;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import com.rainsponsor.util.IHelloService;
import com.rainsponsor.util.SysRequest;
public class WebserviceTestUtils {
/**
* @param args
*/
public static void main(String[] args) {
SysRequest sysRequest = new SysRequest();
sysRequest.setReqText("RP省架构订单,望审核!");
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setAddress("http://192.168.0.123:8080/webservice_server/services/he");
IHelloService helloService = factory.create(IHelloService.class);
// helloService.sendMsg(sysRequest);
String response = helloService.getString();
System.out.println(response);
}
}
最后 服务器必须运行
在客户端中运行方法 在服务器就会显示 !
webservice 中 必须记住的几样
1 SOAP
即简单对象访问协议(Simple
Object Access Protocol),它是用于交换XML编码信息的轻量级协议。
2
WSDL
Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。
3 额。。。3是什么我给忘了 以后补充
相关文章推荐
- webservice 应用实例
- ASP.NET实现基于Forms认证的WebService应用实例
- XFire创建WebService实例应用
- android调用webservice接口应用实例【转】
- java调用第三方的webservice应用实例【转载】
- ASP.NET实现基于Forms认证的WebService应用实例
- struts1+spring+myeclipse +cxf 开发webservice以及普通java应用调用webservice的实例
- 应用CXF开发RESTful风格的WebService入门实例
- C++语言实现的WebService开发库—gsoap应用实例
- Java调用C#的WebService实例三(实际应用)
- WebService应用-ABAP实例:ABAP调用外部WebService
- [分享]一个天气预报的WebService应用实例
- WebService简单应用实例
- Flex构建WebService应用实例 (查询城市天气预报)
- C++语言实现的WebService开发库—gsoap应用实例
- java调用第三方的webservice应用实例
- android调用webservice接口应用实例
- C# webservice应用 简单实例
- 根据第三方提供的wsdl报文(axis2开发),进行的webservice应用的开发实例
- 初始cfx开发webservice, 简单实例应用