Java 基于spring 暴露接口 供外部调用
在springmvc的配置文件添加创建如下的bean:
<!-- 暴露一个webService连接 -->
<bean class="org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter">
<property name="baseAddress" value="http://localhost:8085/"/>
</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 基于spring 暴露接口 供外部调用的更多相关文章
- Java 基于web service 暴露接口 供外部调用
package cn.zr.out.outinterface; import java.text.SimpleDateFormat; import java.util.Date; import jav ...
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
现在很流行的Dubbo很多朋友都听说过吧,最近我也在看这方面的东西,分享先我的心得笔记. 先说说我们团队要做的项目框架,很简单重在实现基于zookeeper的dubbo注册. 框架:springmvc ...
- Spring Cloud实战: 基于Spring Cloud Gateway + vue-element-admin 实现的RBAC权限管理系统,实现网关对RESTful接口方法权限和自定义Vue指令对按钮权限的细粒度控制
一. 前言 信我的哈,明天过年. 这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT ...
- [转贴]JAVA:RESTLET开发实例(三)基于spring的REST服务
前面两篇文章,我们介绍了基于JAX-RS的REST服务以及Application的Rest服务.这里将介绍restlet如何整合spring框架进行开发.Spring 是一个开源框架,是为了解决企业应 ...
- Spring实战5:基于Spring构建Web应用
主要内容 将web请求映射到Spring控制器 绑定form参数 验证表单提交的参数 对于很多Java程序员来说,他们的主要工作就是开发Web应用,如果你也在做这样的工作,那么你一定会了解到构建这类系 ...
- [Java] 使用 Spring 2 Portlet MVC 框架构建 Portlet 应用
转自:http://www.ibm.com/developerworks/cn/java/j-lo-spring2-portal/ Spring 除了支持传统的基于 Servlet 的 Web 开发之 ...
- 基于Spring设计并实现RESTful Web Services(转)
基于Spring设计并实现RESTful Web Services 在本教程中,你将会使用Spring来创建一个具有生产力的RESTful网络服务. 为什么用RESTful网络服务? 从和Amazon ...
- 基于Spring Cloud和Netflix OSS 构建微服务-Part 1
前一篇文章<微服务操作模型>中,我们定义了微服务使用的操作模型.这篇文章中,我们将开始使用Spring Cloud和Netflix OSS实现这一模型,包含核心部分:服务发现(Servic ...
- 我的自定义框架 || 基于Spring Boot || 第一步
今天在园子里面看到一位大神写的springboot做的框架,感觉挺不错,遂想起来自己还没有一个属于自己的框架,决定先将大神做好的拿过来,然后加入自己觉得需要的模块,不断完善 目前直接复制粘贴过来的,后 ...
随机推荐
- [BZOJ5133][CodePlus2017年12月]白金元首与独舞
bzoj luogu 题意 给你一个\(n*m\)的网格,每个位置上有一个箭头指向上或下或左或右.有些位置上还没有箭头,现在要求你在这些没有箭头的位置上填入箭头,使得从网格的任意一个位置开始,都可以沿 ...
- (转)移动端开发总结(一)视口viewport总结
转载链接:移动端开发中,关于适配问题的一点总结(一) 视口 布局视口layout viewport 视觉视口visual viewport 理想视口 缩放 一个重大区别 最小缩放 和最大缩放 分辨率 ...
- 设置正确的DNS
上网或下载软件慢问题,除去少数设备陈旧.感染病毒.网卡硬件故障和网卡驱动错误方面的因素,绝大部分原因是由于部分上网电脑或家用无线路由器设置了错误的DNS造成的,正确的方法是应该在电脑或路由器上使用本地 ...
- Windows下安装Object C开发环境,及Hello Word(转)
Windows下安装Object C开发环境,及Hello Word 最近想学习iphone开发,但是由于没有c基础,只有java基础.所以先从基础学习,首先是搭建环境,目前手头没有mac机子,只能先 ...
- spring mvc集成velocity使用
目前流行的三大页面视图神器是:老牌大哥jsp.后起之秀freemarker和velocity.这里不详细比较这三者的优劣,总体来说,jsp是标配,但后面两个更严格的执行了视图与业务的分离,页面里是不允 ...
- Timer的异常
定时任务用Timer实现有可能出现异常,因为它是基于绝对时间而不是相对时间进行调度的.当环境的系统时间被修改后,原来的定时任务可能就不跑了.另外需要注意一点,捕获并处理定时任务的异常.如果在Timer ...
- 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对
报错:当前标识(NT AUTHORITY\NETWORK SERVICE)没有对C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP. ...
- plsql无法连接64位oracle数据库的解决方法
今儿个重装了个系统,win8 64位.接着装了个64位的oracle11g,oracle11g下载页面:http://www.oracle.com/technetwork/database/enter ...
- android中状态栏透明
设置 Acitivity 所在 window 的属性 @Override protected void onCreate(Bundle savedInstanceState) { super.onCr ...
- Uploadify在asp.net下使用Demo
为了使自己以后不再去网上搜索,特记录下来 从uploadify官网http://www.uploadify.com/上下载文件 必要的文件: 1.jquery的js文件 2.jquery.upload ...