-
SAP开发webservice接口教程
2019-02-26 13:56:46SAP开发webservice接口教程,用于在实际工作中与VS2017结合与我SAP与web网页的ERP数据交互程序。 -
java webservice 开发教程_Apache CXF开源框架实现java webservice接口开发的入门实例教程...
2021-02-12 21:36:09本资料为webservice接口入门例子,主要描述通过CXF方式开发webservice接口,包含了服务端Server接口的开发与对外发布以及客户端Client调用过程。Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web ...本资料为webservice接口入门例子,主要描述通过CXF方式开发webservice接口,包含了服务端Server接口的开发与对外发布以及客户端Client调用过程。
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的服务器上,例如 Jboss、IBM® WebSphere® 或 BEA WebLogic。
接口服务器工程示意图
客户端工程截图
运行截图
tomcat的http端口需要设置为5071,并且访问路径需要带上项目名称:webServiceServer
另外webServiceClient项目的Client.java和Client3.java需要修改请求路径,否则无法访问到webservice服务
Client.javapackage com.zhos.client;
import com.zhos.webservice.cfx.server.HelloWorldService;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public class Client {
public static void main(String[] args) {
JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean();
bean.getInInterceptors().add(new LoggingInInterceptor());
bean.getInFaultInterceptors().add(new LoggingOutInterceptor());
bean.setServiceClass(HelloWorldService.class);
bean.setAddress("http://localhost:5071/webServiceServer/webservice/helloWorldService");
HelloWorldService helloWorldService = (HelloWorldService) bean.create();
String result = helloWorldService.sayHello("Kevin", "password");
System.out.println(result);
}
}
Client3.javapackage com.zhos.client;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
public class Client3 {
public static void main(String[] args) throws Exception {
JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();
Client client = clientFactory.createClient("http://localhost:5071/webServiceServer/webservice/helloWorldService?wsdl");
Object[] result = client.invoke("sayHello", new Object[]{"KEVIN", "zuidaima"});
System.out.println(result[0]);
}
}
运行后截图
webServiceClient项目的jar包就是webServiceServer的jar包,复制一份即可。
由最代码官方编辑于2017-6-6 18:39:45
-
使用SpringMvc开发Android WebService接口入门教程
2017-01-31 20:23:48接下来我们就开始写springmvc 的controller了,我们就先写一个简单的WebService接口,给 Android 返回一句Hello SpringMVC! 新建一个名为HelloController. Java 文件 Java代码 ...文章转载自:http://cloudbbs.org/forum.PHP?mod=viewthread&tid=31880
1.首先大家先创建一个JavaWeb项目
2.然后加入SpringMVC所依赖的jar包文件到WebRootWEB-INFlib 文件夹下,jar包含文件如下图
3.我们在WebRootWEB-INF 目录下创建一个spring-servlet.xml文件,粘入如下代码 4.我们现在在web.xml 下面粘入一下代码 简单配置一下SpringMvc
现在呢我们的spring mvc项目就创建完成了,我们把web项目发布到本机tomcat里面,控制台出现如下输出并且没有报错证明你的spring mvc项目已经配置成功了。接下来我们就可以开始编写接口了
我们首先创建Controller,由于我们之前在spring-servlet.xml文件里配置了指定Controller都在 com.springmvc.controller包里,所以我们要先创建com.springmvc.controller文件夹目录
接下来我们就开始写springmvc 的controller了,我们就先写一个简单的WebService接口,给Android返回一句Hello SpringMVC!
新建一个名为HelloController.Java文件
写完了之后我们发不到tomcat中,本地测试时可以在浏览器输入127.0.0.1:8080/SpringMVC/HelloController/hello.json进行访问
输出结果就为 Hello SpringMVC!
想必你对编写Android接口已经有一定了解了,那么接下来我们正式开始编写一个简单Android应用的接口吧
首先我们应用有一个登录页面,那么我们服务端就要为这个应用登录功能提供一个登录接口
那么我们先来创建一个LoginController,我们就在这里面来编写登录接口
再想想登录成功我们肯定要给用户返回当前登录用户的信息比如用户名等…那么我们也要同时再创建一个用户实体类名字叫UserEntity
那我们先定义一下UserEntity里面所需要的字段吧
接下来我们来编写LoginController的登录接口
由于是GET访问,我们可以直接用浏览器访问 输入正确的用户名和密码,我们看下图当前用户实体自动转换为json字符串了,这时拿到json字符串就好办了,我们Android端就可以进行解析此json并且拿到当前用户的信息了。
那我们再输入错误的用户名和密码时,我们看下图,返回的json字符串告诉我们可能输入的信息有误,这时我们Android端也可以进行解析json然后给用户提示我们服务端返回的提示信息告诉用户检查输入的信息是否正确了。我们有了登录功能那么肯定就少不了注册功能,接下来我们再来写一个注册功能
那么我们先来创建一个RegisteredController,我们就在这里面来编写注册接口
那么我们现在给这个接口打个断点,用一个模拟http post请求的工具测试一下这个接口是否写好了
OK进断点了,我们看一下下图,参数全部传了过来,这就说明我们注册成功了!
这样我们SpringMVC的一个小Demo就写完了,那么我在教大家如何把这个项目发不到sae上面,Java项目需要使用war包上传到sae上,所以我们先把我们的程序打包为war包(注意:注意war包名称必须和appname相同)1.项目右键 选择 Export
2.选择 JavaEE - WAR file
3.然后我们选择导出的路径,我就选择桌面了
4.然后我们进入我们的sae应用中心 - 代码管理 第一次上传需要创建版本
5.我们选择创建版本
6.然后我们上传war包 就OK了。
提供几个测试地址:
①HelloController : http://1.springmvcdemo.sinaapp.com/HelloController/hello.json
②登录LoginController:http://1.springmvcdemo.sinaapp.com/LoginController/login_get.json/admin/123456
③注册RegisteredController:由于这个是POST请求所以就请大家自己测试啦 POST(http://1.springmvcdemo.sinaapp.com/RegisteredController/registered_post.json,需要传入参数) -
【申精】使用SpringMvc开发Android WebService接口入门教程
2015-11-22 22:28:27使用SpringMvc开发Android WebService入门教程 1.首先大家先创建一个JavaWeb项目 2.然后加入SpringMVC所依赖的jar包文件到WebRootWEB-INFlib 文件夹下,jar包含文件如下图 3.我们在WebRootWEB-INF 目录下创建... -
SpringBoot——实现WebService接口服务端以及客户端开发
2020-06-11 10:52:36文章目录实现WebService接口的发布以及调用一、服务端代码开发1、pom依赖2、接口类3、接口实现类4、webservice配置文件2、客户端开发 实现WebService接口的发布以及调用 我们经常需要在两个系统之间进行一些数据的...文章目录
实现WebService接口的发布以及调用
我们经常需要在两个系统之间进行一些数据的交互,这时候我们就需要开发数据交互接口。
一般来说,遇到比较多的接口有HTTP接口、WebService接口、FTP文件传输。今天我要来学习一下在SpringBoot框架下进行简单的webservice接口的开发。
在网上跟着好多个教程做了好多遍,终于能走通。
一、服务端代码开发
创建了两个wbservice接口TestService和CatService。
1、pom依赖
导入相关的依赖包。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.6</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.1.6</version> </dependency>
2、接口类
import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.xml.ws.WebServiceProvider; /** * @author zll * @version 1.0 * @date 2020/6/10 15:26 */ @WebService(name = "TestService", // 暴露服务名称 targetNamespace = "http://server.webservice.Bag.admin.com"// 命名空间,一般是接口的包名倒序 ) public interface TestService { @WebMethod public String sendMessage(@WebParam(name = "username") String username); @WebMethod public boolean getFlag(@WebParam(name = "username") String username); }
import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; /** * @author zll * @version 1.0 * @date 2020/6/10 17:02 */ @WebService(name = "CatService", // 暴露服务名称 targetNamespace = "http://server.webservice.Bag.admin.com"// 命名空间,一般是接口的包名倒序 ) public interface CatService { @WebMethod public String message(@WebParam(name = "name") String name); }
3、接口实现类
import com.admin.Bag.webservice.server.TestService; import org.springframework.stereotype.Component; import javax.jws.WebService; /** * @author zll * @version 1.0 * @date 2020/6/10 15:31 */ @WebService(serviceName = "TestService", // 与接口中指定的name一致 targetNamespace = "http://server.webservice.Bag.admin.com", // 与接口中的命名空间一致,一般是接口的包名倒 endpointInterface = "com.admin.Bag.webservice.server.TestService"// 接口地址 ) @Component public class TestServiceImpl implements TestService { @Override public String sendMessage(String username) { return "=====Hello! " + username + "====="; } @Override public boolean getFlag(String username) { // return true; } }
import com.admin.Bag.webservice.server.CatService; import org.springframework.stereotype.Component; import javax.jws.WebService; /** * @author zll * @version 1.0 * @date 2020/6/10 17:05 */ @WebService(serviceName = "CatService", // 与接口中指定的name一致 targetNamespace = "http://server.webservice.Bag.admin.com", // 与接口中的命名空间一致,一般是接口的包名倒 endpointInterface = "com.admin.Bag.webservice.server.CatService"// 接口地址 ) @Component public class CatServiceImpl implements CatService { @Override public String message(String name) { // return "一只小猫猫"; } }
4、webservice配置文件
import com.admin.Bag.webservice.server.impl.CatServiceImpl; import com.admin.Bag.webservice.server.impl.TestServiceImpl; import org.apache.cxf.Bus; import org.apache.cxf.bus.spring.SpringBus; import org.apache.cxf.jaxws.EndpointImpl; import org.apache.cxf.transport.servlet.CXFServlet; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.xml.ws.Endpoint; /** * @author zll * @version 1.0 * @date 2020/6/10 15:37 */ @Configuration public class cxfConfig { @Bean public ServletRegistrationBean disServlet() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new CXFServlet(), "/webService/*"); return servletRegistrationBean; } @Bean(name = Bus.DEFAULT_BUS_ID) public SpringBus springBus() { return new SpringBus(); } @Bean public Endpoint endpoint() { EndpointImpl endpoint = new EndpointImpl(springBus(), new TestServiceImpl()); endpoint.publish("/TestService"); return endpoint; } @Bean public Endpoint endpoint2() { EndpointImpl endpoint = new EndpointImpl(springBus(), new CatServiceImpl()); endpoint.publish("/CatService"); return endpoint; } }
启动项目。我的项目端口号是8080。浏览器访问地址:http://localhost:8082/webService
可见接口信息CatService和TestService,点进链接可以看每个接口的wsdl文档。
2、客户端开发
客户端是一个单独的项目。
(1)pom依赖
不同的SpringBoot版本对应的依赖版本也不一样,我也是试了好久终于成了。我的SpringBoot版本号是2.3.0.RELEASE。
<!-- 进行jaxes 服务开发 --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.0.1</version> </dependency> <!-- 内置jetty web服务器 --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>3.0.1</version> </dependency>
(2)封装客户端方法clientUtil
import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; /** * @author zll * @version 1.0 * @date 2020/6/10 17:46 */ public class clientUtil { public static String callWebSV(String wsdUrl, String operationName, String... params) throws Exception { JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient(wsdUrl); //client.getOutInterceptors().add(new ClientLoginInterceptor(USER_NAME, PASS_WORD)); Object[] objects; // invoke("方法名",参数1,参数2,参数3....); objects = client.invoke(operationName, params); return objects[0].toString(); } }
(3)调用接口类
使用定时调用webservice接口。
import com.admin.webAppoint.webservice.client.clientUtil; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RestController; /** * @author zll * @version 1.0 * @date 2020/6/10 17:50 */ @RestController @Component public class TestController { //在一个方法中连续调用多次WebService接口,每次调用前需要重置上下文。 ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); @Scheduled(cron="*/15 * * * * ?") public String getMessage() { Thread.currentThread().setContextClassLoader(classLoader);//在获取连接之前 还原上下文 System.out.println("======开始调用webservice接口====="); String url = "http://localhost:8082/webService/CatService?wsdl"; String methodName = "message"; System.out.println("Calling" + url); String result=""; try { result=clientUtil.callWebSV(url, methodName, "name"); } catch (Exception e) { System.err.println("接口调用失败!!!!"); return "失败"; } System.out.println("===Finished!===恭喜你啊!!!CatService接口调用成功!!!===获得的数据是:"+result); return "Finished!"; } @Scheduled(cron="*/5 * * * * ?") public String getMessage2() { Thread.currentThread().setContextClassLoader(classLoader);//在获取连接之前 还原上下文 System.out.println("======开始调用webservice接口====="); String url = "http://localhost:8082/webService/TestService?wsdl"; String methodName = "sendMessage"; System.out.println("Calling" + url); String result=""; try { result=clientUtil.callWebSV(url, methodName, "username"); } catch (Exception e) { System.err.println("接口调用失败!!!!"); return "失败"; } System.out.println("===Finished!===恭喜你啊!!!TestService接口调用成功!!!===获得的数据是:"+result); return "Finished!"; } }
(4)运行结果
首先启动服务端。启动客户端。
遇到过报错:
报错——使用cxf时报错:org.apache.cxf.interceptor.Fault: Marshalling Error: XXX is not known to this context最终成功调用服务端的webservice接口:
-
SpringBoot整合spring-ws开发webservice接口(全流程详细教程)
2019-04-19 10:50:10场景 spring-ws spring-ws官网: ... SpringWebServices(Spring-WS)是Spring社区的一...SpringWebServices旨在促进契约优先的SOAP服务开发,允许使用多种操作XML有效负载的方式之一创建灵活的Web服务。该产品基于Spr... -
cmd 调用webservice接口_如何在Linux中使用ab命令进行webservice接口测试
2020-12-31 17:06:24ab是Apache Benchmark的缩写,顾名思义它是Apache组织开发的一款web压力测试工具,优点是使用方便,统计功能...本教程讲解了在Linux系统中如何通过ab命令进行webservice接口测试。准备条件一台Linux服务器。在服务... -
delphi ex 调用 webservice接口_如何在Linux中使用ab命令进行webservice接口测试
2020-12-25 15:16:21ab是Apache Benchmark的缩写,顾名思义它是Apache组织开发的一款web压力测试工具,优点是使用方便,统计功能...本教程讲解了在Linux系统中如何通过ab命令进行webservice接口测试。准备条件一台Linux服务器。在服务... -
SpringBoot整合spring-ws开发webservice接口
2020-09-29 17:18:19最近写restful风格的接口,需要打包部署,偶然间看到个webservice风格的接口部署教程,特此放个传送门,方便查阅。 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89395156 -
IDEA中进行SpringBoot整合spring-ws开发webservice接口后期要修改xsd文件流程
2019-04-22 10:15:12SpringBoot整合spring-ws开发webservice接口(全流程详细教程) 参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89395156 现在接口已经开发完毕,但是在后期进行调试时发现在C#程序中进行... -
vue 调用webservice_开发环境Vue访问后端接口教程(前后端分离开发,端口不同下跨域访问)...
2020-12-18 23:44:24原理:开发环境下的跨域:在node.js上实现请求转发,vue前端通过axios请求到node.js上,node.js将请求转发到后端,反之.响应也是,先到node.js上,然后转发vue-cil项目上.需要在根目录下新建文件vue.config.js.vue.config.... -
怎样在IDEA上将WebService接口打包部署到服务器
2019-04-19 16:01:23SpringBoot整合spring-ws开发webservice接口(全流程详细教程)参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89395156 实现 找到Maven面板下的package命令,双击 等待打包完成 来到... -
Webservice开发之xsd中开发list请求参数的接口
2019-04-19 11:26:04SpringBoot整合spring-ws开发webservice接口(全流程详细教程)参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89395156 接口的请求参数有两个 一个是String类型的list,代表要签收的多条... -
Webservice开发之xsd中开发登录请求的响应接口
2019-04-19 13:49:04SpringBoot整合spring-ws开发webservice接口(全流程详细教程)参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89395156 实现 <xs:schema xmlns:xs=... -
Webservice开发之xsd中开发请求数据的响应接口
2019-04-19 14:53:41SpringBoot整合spring-ws开发webservice接口(全流程详细教程)参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89395156 实现 <xs:schema xmlns:xs=... -
Webservice入门教程_用JDK开发Webservice
2019-05-06 14:25:33场景 项目专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37726 实现 搭建服务端 打开Eclipse新建 Java ...包下新建接口HellloWS.java package com.badao.ws; import javax.jws.WebMetho... -
WebService开发(C#)+Java调用-教程
2018-11-16 13:54:04注:1.本文重点讲如何实现 2.本文包括WebService接口开发、JavaWeb调用等问题 3.源代码已提交到github,Webservice接口:https://github.com/Bobo-peng/WebService JavaWeb... -
ab压力测试_如何在Linux中使用ab命令进行webservice接口测试
2020-11-25 03:07:58ab是Apache Benchmark的缩写,顾名思义它是Apache组织开发的一款web压力测试工具,优点是使用方便,统计功能...本教程讲解了在Linux系统中如何通过ab命令进行webservice接口测试。准备条件一台Linux服务器。在服务... -
webservice 教程学习系列(五)——使用JDK开发webservice
2018-11-18 16:19:111.开发服务器端代码 webservice代码 1.创建接口 package ws; import javax.jws.WebMethod; import javax.jws.WebService; /** * SEI * @author Administrator * */ @WebService public interface ... -
WebService入门实例教程(亲测)
2017-10-19 11:55:02一.WebService服务端开发 1、准备一个测试的接口(service和service实现类) package com.synjones.cjpt.service.webService; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public ... -
使用XFire开发WebService入门教程
2009-09-24 15:28:44首先,我们在eclipse中建立一个WebService工程作为服务端,并编写如下代码: IHelloService.java 服务接口,有一个方法,参数和返回值均为复杂类型User package test; public interface IHelloService ...{ ... -
通过axis2解析sap 发布的webService接口,新手到进阶,多种方法。
2019-04-12 18:23:09使用axis2解析sap发布的webService接口数据前语功能快捷键技术:axis2讲解:方法一讲解:方法二结语 前语 首先自我介绍,本人从事java开发,刚跳槽到了一家传统生产公司,主要负责公司的BI以及和sap对接的开发工作。... -
使用XFire开发WebService入门教程
2007-07-25 13:35:00首先,我们在eclipse中建立一个WebService工程作为服务端,并编写如下代码:IHelloService.java 服务接口,有一个方法,参数和返回值均为复杂类型User package test;public interface IHelloService ...{ ... -
PostMan工具测试webservice格式的接口
2020-08-05 15:07:51使用Postman测试webservice接口1.Postman下载安装2.Postman使用教程 1.Postman下载安装 Postman官网地址:(https://www.postman.com) 开发中需要用到各种各样的工具,常常因为找个下载按钮翻好半天,好不容易找到了... -
Webservice开发之xsd文件示例代码
2019-04-19 11:12:11SpringBoot整合spring-ws开发webservice接口(全流程详细教程)参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89395156 实现 xsd文件示例代码: <xs:schema xmlns:xs=... -
jax-ws之webservice security(安全)教程第三天
2014-03-12 13:56:40jax-ws之webservice security(安全)教程第三天 目录(?)[+] 前言一配置服务端的相关角色 配置J2EE AppServer中的相关用户名与密码配置web应用中的相关安全角色 二 开发我们的webservice 接口实现... -
WebService开发 - CXF(4) - 服务端返回Map类型数据
2019-10-25 23:05:56博主个人教程地址 前言 之前说完了JavaBean的传递 今天来说一下Map类型的传递 Map类型传递 其实主要的还是针对的服务端的类型转换 所以主要修改的代码时在服务端的 我们还是按照正常的思路在扩充方法 来看一下会出现... -
新项目接口的开发
2014-01-15 00:51:58新接手接口开发,用的技术是webservice,框架是项目组开发的。 这里有几个问题: 1、首先是对webservice方面的知识还不知道 可以看视频教程,自己动手练习,理解最基本的概念,原理,过程。 2、发送给外系统...
-
小知识:btn.addEventListener is not a function报错处理
-
HTML 时间获取器 laydate
-
MySQL 主从复制 Replication 详解(Linux 和 W
-
MAC php7.4.13 使用pecl安装扩展报错
-
IT安全风险评估管理指南_V1.0.doc
-
MySQL 高可用(DRBD + heartbeat)
-
华为1+X认证——网络系统建设与运维(初级)
-
Vue项目城市选择页-列表性能优化(8-7)
-
zookeeper-3.4.14.tar.zip
-
基于SSM实现的房屋租赁系统【附源码】(毕设)
-
Go垃圾收集器
-
Zheng方案.pdf
-
用Go语言来写区块链(一)
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
GO语言JSON
-
setup_clover@3.5.4.rar
-
MySQL 数据库权限管理(用户高级管理和精确访问控制)
-
ML 方案 .pdf
-
5个步进电机硬件设计原理图PCB工程文件资料.zip
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)