WebService 实例应用

WebService 实例应用两个工程分别部署在两台电脑上:webservice_client客户端  webservice_server:服务器端先说服务器导入jar包改写xml文件:cxfcom.rainspnsor.webservice.CXFNonSpringServiceImpl0cxf/services/*然后创建类:1util中:

大家好,又见面了,我是你们的朋友全栈君。

两个工程 分别部署在两台电脑上: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>

然后创建类:

WebService 实例应用

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工程

WebService 实例应用

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 中 必须记住的几样 

SOAP 

简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。

WSDL

Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。
3 额。。。3是什么我给忘了 以后补充

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162649.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • xshell ping不通虚拟机_虚拟机为什么ping不通主机

    xshell ping不通虚拟机_虚拟机为什么ping不通主机有朋友联系说:“虚拟机可以ping本机,本机也可以ping虚拟机,但是Xshell连接不上虚拟机。”,找了不少资料发现好像不是这个问题的解决方法,所以在这里介绍下怎么解决这个问题。同时,总结几种xshell连接不上虚拟机的解决方法。

  • arcgis多因子加权叠加分析_arcgis栅格数据矢量化

    arcgis多因子加权叠加分析_arcgis栅格数据矢量化白话空间统计二十四:地理加权回归(七)ArcGIS的GWR工具扩展参数说明近期无论是开发者大会,还是个人工作,相当的忙,所以停了一段时间……不过地理加权回归写到第七章,自我感觉也差不多了,无论是基础理论还是来历,包括基础参数的意义,都应该介绍得比较清楚了,当然,后面可能是大家更关心的内容,也就是在ArcGIS(或者其他软件里面),怎么去执行地理加权回归,执行完成之后,生成的结果又如何解读?

  • es集群搭建_k8s和docker搭建es集群

    es集群搭建_k8s和docker搭建es集群单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。ES集群搭建_使用docker-海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点-单点故障问题:将分片数据在不同节点备份(replica)ES集群介绍为什么需要集群ES集群相关概念搭建ES集群集群职责划分集群脑裂问题…

    2022年10月12日
  • 小米网css3导航下拉菜单代码

    效果:http://hovertree.com/texiao/css3/19/代码如下:转自:http://hovertree.com/h/bjaf/xiaomimenu.htm推荐:http:/

    2021年12月23日
  • 金蝶erp管理系统下载_erp 金蝶

    金蝶erp管理系统下载_erp 金蝶源码说明:超强的工作流系统,强大的可视化工作流编辑器,灵活自定义表单设计,充分实现企业基于工作流的各项业务管理,与其他模块数据(如HRM等)完美结合。全面综合的任务系统,实现基于信息录入、单据管理、业务协作、工作流转、任务提醒、统计分析等的智能管理。所有单据均支持上传附件功能;且报价单、销售合同、采购订单、发货出库、入库单、派工单等所有模板均支持自定义编辑打印。集成功能实用的CRM系统、进…

  • 角色权限表怎么设计_用户角色权限在数据库表中怎样实现

    角色权限表怎么设计_用户角色权限在数据库表中怎样实现设计一个灵活、通用、方便的权限管理系统。      在这个系统中,我们需要对系统的所有资源进行权限控制,那么系统中的资源包括哪些呢?我们可以把这些资源简单概括为静态资源(功能操作、数据列)和动态资源(数据),也分别称为对象资源和数据资源,后者是我们在系统设计与实现中的叫法。系统的目标就是对应用系统的所有对象资源和数据资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮、数据显示的列以

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号