Java调用WebService的几种方式
webservice服务一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。
wsdl文本解析
1、直接AXIS调用远程的web service
第一步:引入相关依赖
<dependencies><!--spring web Service的包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId><version>1.5.2.RELEASE</version></dependency><!--spring web service wsdl包--><dependency><groupId>wsdl4j</groupId><artifactId>wsdl4j</artifactId><version>1.6.3</version></dependency><!-- axis 1.4 jar start --><dependency><groupId>org.apache.axis</groupId><artifactId>axis</artifactId><version>1.4</version></dependency><dependency><groupId>commons-discovery</groupId><artifactId>commons-discovery</artifactId><version>0.2</version><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.axis</groupId><artifactId>axis-jaxrpc</artifactId><version>1.4</version></dependency><dependency><groupId>org.apache.axis</groupId><artifactId>axis-saaj</artifactId><version>1.4</version></dependency><dependency><groupId>wsdl4j</groupId><artifactId>wsdl4j</artifactId><version>1.4</version></dependency></dependencies>
第二步:写代码
package demo;import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.handlers.soap.SOAPService;import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.nio.charset.StandardCharsets;
import java.rmi.RemoteException;public class Test04 {public static void main(String[] args) throws RemoteException, ServiceException, MalformedURLException {//wsdl地址String endpoint ="http://localhost:57772/soap/JHIPLIB.SOAP.BS.HL7V3Service.cls";//命名空间String namespace = "http://goodwillcis.com";//服务名String serviceName = "HL7V3Service";//方法名String methodName = "HIPMessageServer";//soapActionString soapAction = "http://goodwillcis.com/JHIPLIB.SOAP.BS.HL7V3Service.HIPMessageServer";Service service = new Service();Call call = (Call) service.createCall();//设置响应超时call.setTimeout(3000);//设置地址call.setTargetEndpointAddress(endpoint);//设置方法名call.setOperationName(new QName(namespace,methodName));//设置参数call.addParameter("Message", XMLType.XSD_STRING, ParameterMode.IN);String message = new String("<req>测试</req>");Object [] obj = {message};//设置返回类型call.setReturnType(XMLType.XSD_STRING);//启用soapcall.setUseSOAPAction(true);//设置soapActioncall.setSOAPActionURI(soapAction);//设置服务名SOAPService soapService = new SOAPService();soapService.setName(serviceName);call.setSOAPService(soapService);String ret = (String) call.invoke(obj);System.out.println("返回消息:"+ret);}}
2、采用代理类形式调用webservice
第一步:直接引用wsdl地址(或者wsdl文本)生成相应的代理类。
第二步:代码调用。
public static void main(String[] args) throws MalformedURLException {HL7V3Service service = new HL7V3Service();HL7V3ServiceSoap soap = service.getHL7V3ServiceSoap();String msg = "<req>3333</req>";String result = soap.hipMessageServer(msg);System.out.println(result);}
参考:https://blog.csdn.net/qq_35124535/article/details/62226585
Java调用WebService的几种方式相关推荐
- vue 调用webservice_调用webService的几种方式
转自:http://blog.csdn.net/u011165335/article/details/51345224 一.概览 方式1: HttpClient:可以用来调用webservie服务,也 ...
- java开发webservice的几种方式
为什么80%的码农都做不了架构师?>>> webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis ...
- java调用打印机的两种方式
一.用java中自带的PrintServiceLookup实现 import javax.imageio.ImageIO; import javax.print.*; import javax.pri ...
- java调用webservice axis
webservice,先让我们来理解一下这个名词.简单点说调用其他网站的资源的一种方法.所以,通俗地说,Web service(Web服务)就是让你的网站可以使用其他网站的资源,比如在网页上显示天气. ...
- java调用WebService(客户端)
java调用WebService(客户端) 看下了网上大部分都是写java来编写WS服务端,写了下JAVA的调用端. WebService可以有Get. Post.Soap.Document四种方式调 ...
- Java中创建对象的四种方式
为什么80%的码农都做不了架构师?>>> Java中创建对象的四种方式 (1) 用new语句创建对象,这是最常见的创建对象的方法. (2) 运用反射手段,调用java.l ...
- 创建和应用Java包文件的两种方式(转)
创建和应用Java包文件的两种方式(转) <Java编程艺术>章节选登.作者:高永强 清华大学出版社 (即将出版) 12.1 包--package ... 12.1.1 包命名规 ...
- Java字符串连接的几种方式
Java字符串连接的几种方式 字符串表现的几种方式 StringBuffer和StringBuilder及String的继承关系 字符串的连接 1.String的连接方法 可以看出连接方式是新建了一个 ...
- Java解析Xml的三种方式总结
转自:http://blog.csdn.net/zjf280441589/article/details/50613881 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内 ...
- Java格式化倒计时的两种方式
Java格式化倒计时的两种方式 第一种方式 /*** 入参是一个每秒减小1的秒数* 返回一个格式化的时间* * 该方法具有局限性,他在时间大于1个小时的时候,会返回错误的时间* 因为该方法调用了Dat ...
最新文章
- 团队实践,我们是怎么用敏捷开发工具Leangoo的
- ansys scade suite 2020中文版
- python连接oracle
- WPF数据绑定(1-简单数据绑定)
- linux安装12c oem,OEM12C(12.1.0.5)安装插件监控mysql(linux)
- Python学习:使用Python解释器
- 【WinCE】流设备驱动简介及GPIO驱动的实现
- NOI入门级数学: 数及其运算 数的进制之二进制
- tesseract 提升识别质量
- jQuery - Ajax解决跨域问题
- 【oracle】changePerm.sh
- 机器学习基础(二十六)—— 将 SVM 推广到多类问题
- NCBI基本引物设计、(初学者)
- 专业的统计分析软件 IBM SPSS Statistics 26.0.2 Mac版(内附安装包网盘链接)
- WIN10使用VEH+硬件断点实现不修改代码完成破解
- 前端coursor设置为pointer在移动端点击会出现蓝色背景解决
- PQ分区出错,由Ghost来补救的办法(转)
- 数字IC设计学习笔记_8位7段数码管1
- excel函数技巧:MAX在数字查找中的应用妙招
- Arduino应用开发——LCD显示GIF动图