java 暴露接口_Java基于spring暴露接口供外部调用
在springmvc的配置文件添加创建如下的bean:
创建一个接口和实现类
package com.nbesoft.company.service;
public interface ReceiveDataService {
public String exporeInterfaceService(String data);
}
package com.nbesoft.company.service.impl;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import org.springframework.stereotype.Service;
import com.nbesoft.company.service.ReceiveDataService;
@Service
@WebService(name="dataService",serviceName="receiveDataServiceImpl",targetNamespace="dataReceive")
public class ReceiveDataServiceImpl implements ReceiveDataService {
@WebMethod
public String exporeInterfaceService(@WebParam(name="data") String data) {
System.out.println("==========");
System.out.println("data:"+data);
System.out.println("=====---------=====");
return "外部传送数据进来了..."+data;
}
}
调用接口
需要如下jar包
调用的相关代码:
package ss;
import java.net.URL;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class Testss {
public static void main(String[] args) {
// 访问的url
String url = "http://localhost:8085/receiveDataServiceImpl?wsdl";
// 命名空间
String namespace_uri = "dataReceive";
// 暴露的方法名
String methodName = "exporeInterfaceService";
// 创建Service实例
Service service = new Service();
Call call = null;
try {
// 通过Service创建Call的实例
call = (Call) service.createCall();
// 将对应的WSDL的URL路径加入call的实例
call.setTargetEndpointAddress(new URL(url));
} catch (Exception e) {
e.printStackTrace();
}
// 设置要访问的方法
call.setOperationName(new QName(namespace_uri,methodName));
// 设置要访问的方法里面需要传入的参数
call.addParameter(new QName("data"), XMLType.XSD_STRING, ParameterMode.IN);
// 设置返回参数
call.setReturnType(XMLType.XSD_STRING, String.class);
String str = "哈哈哈";
Object[] obj = {str};
Object result = null;
try {
// 调用
result = call.invoke(obj);
} catch (RemoteException e) {
e.printStackTrace();
}
// 打印返回结果
System.out.println("*****"+result);
}
}
java 暴露接口_Java基于spring暴露接口供外部调用相关推荐
- java private 接口_java接口中 定义 private 私有方法
在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...
- Java泛型之mybatis,基于spring MVC 和 MyBatis 泛型的代码生成模板
原标题:基于spring MVC 和 MyBatis 泛型的代码生成模板 简单说明 这块代码生成工具是我抽空的时候方便自己使用而编写的,并不适合其他框架,这里由于项目原有,我并没有上传泛型部份的代码, ...
- java自定义标签 map_基于Spring MVC的自定义标签Tag
基于Spring MVC的自定义标签Tag 1.环境准备 本次小项目基于Spring MVC进行测试呈现,项目依赖的jar文件列表如下: 2.搭建SpringMVC Spring MVC环境最关键的两 ...
- java aop模式_Java的Spring框架下的AOP编程模式示例
Spring框架的关键组件是面向方面编程(AOP)框架.面向方面的编程不仅打破程序逻辑分成不同的部分称为所谓的担忧.跨越多个点的应用程序的功能被称为横切关注点和这些横切关注点是从应用程序的业务逻辑概念 ...
- java 电力 监测 系统,基于Spring框架的电力负荷管理系统[Java编程]
赞助商链接 本文"基于Spring框架的电力负荷管理系统[Java编程]"是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自 ...
- java路由器开发_基于spring cloud的智能路由
smart-route 基于spring cloud的智能路由,功能如下 开发模式:优先调用本地服务, order=0 SIT优先:优先调用指定IP服务, order=100 远程调试:远程调试指定服 ...
- java.util接口_Java 8中java.util.function包中的谓词和使用者接口
java.util接口 在上一篇文章中,我写了关于Function接口的内容 ,它是java.util.package的一部分. 我还提到了Predicate接口,它是同一包的一部分,在这篇文章中,我 ...
- java lock接口_Java Lock接口
Java Lock接口 java.util.concurrent.locks.Lock接口用作线程同步机制,类似于同步块.新的锁定机制更灵活,提供比同步块更多的选项. 锁和同步块之间的主要区别如下: ...
- java supplier接口_Java函数式接口Supplier接口实例详解
这篇文章主要介绍了Java函数式接口Supplier接口实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JDK提供了大量常用的函数式接口以丰 ...
- java天气信息管理系统,基于 Spring Boot + Spring Cloud 实现天气预报系统
[课程内容] 第1章 导学及SpringCloud介绍 1-1 spring boot简介 1-2 开启第一个spring boot 项目 第2章 基于Spring Boot快速构建天气预报系统 2- ...
最新文章
- NodeJS + PhantomJS 前端自动化资源监控
- python dict 字典 清空
- 常见的DNS攻击——偷(劫持)、骗(缓存投毒)、打(DDos)
- 我为什么卸载了今日头条
- python数据类型可变和不可变_python可变数据类型vs不可变数据类型
- [转载] java中final,finally,finalize三者的作用和区别
- spring或springmvc自动生成applicationcontext.xml或springmvc文件(此文转载和借鉴多篇文章)...
- [php]laravel框架容器管理的一些要点
- python数据清洗入门教程(完整版)
- 使用APICloud AVM多端框架开发app通讯录功能
- HTTPS之SNI介绍与Nginx多域名支持
- 比较常见的几种代理ip类型
- 122、影响爆炸极限的因素
- unity导入模型昏暗(对比度低)解决办法
- access是干什么的软件
- excel学习笔记(一)
- 学一点Wi-Fi: CCMP
- 【数据结构】广义表的存储结构及基本运算(C语言)
- 【TextView】Android TextView显示省略号的问题(关于TextView maxLength 和maxEms的学习)
- clear 和evict