通过IDE生成和手动call调用webservice

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

通过IDE自动生成的代码调用webservice服务

 

我们的IDE一般来说都是能够通过各种各样的工具来支持我们的开发使我们的开发变得更加的便捷。对于webservice来说自然也是如此,所以我们可以轻松的调用webservice插件来进行客户端代码的生成。在这里我们直接new就可以了

 

把我们本地的WSDL的地址输入进去

 

 

 

直接finish,自动生成了一堆的类和对象

 

 

 

然后我们直接根据以下的方法就可以测试我们的webservice接口的情况了

 

[java] view plain copy
  1. package localhost.webserviceTest.test;  
  2.   
  3. import org.apache.axis.AxisFault;  
  4.   
  5. import localhost.webserviceTest.services.webServiceTest.HellowWorldProxy;  
  6. import localhost.webserviceTest.services.webServiceTest.WebServiceTestSoapBindingStub;  
  7.   
  8. public class webClientTest {  
  9.   
  10.       
  11.     public static void main(String[] args ){  
  12.         try {  
  13.             HellowWorldProxy pHellowWorldProxy= new HellowWorldProxy();  
  14.             System.out.print(pHellowWorldProxy.test(" zhengfang.sun"));  
  15.           
  16.         } catch (Exception e) {  
  17.             // TODO Auto-generated catch block  
  18.             e.printStackTrace();  
  19.         }  
  20.           
  21.     }  
  22. }  

 

结果如下图所示

 

 

 

org.apache.axis.client.Call调用

Webservice接口我们自然可以通过IDE提供的功能进行生成,但是有时候也是会出现意外的,提供webservice的系统或者是服务方所在的网络环境和调用端的不连通,没有办法通过IDE进行生成,这个时候掌握其本质的调用方法就变得尤为重要

这种方法适用于在能够看到WSDL或者是能够知晓服务方提供的服务信息的前提下就可以使用。其核心是通过org.apache.axis.client.Call这个类进行webservice的调用。

[java] view plain copy
  1. package localhost.webserviceTest.test;    
  2.     
  3. import java.net.MalformedURLException;    
  4. import java.rmi.RemoteException;    
  5.    
  6. import javax.xml.namespace.QName;    
  7. import javax.xml.rpc.ServiceException;  
  8.   
  9. import org.apache.axis.client.Call;    
  10. import org.apache.axis.client.Service;    
  11.    
  12. public class ClientTest {    
  13.     
  14.     public static void main(String[] args) throws MalformedURLException, RemoteException {    
  15.             
  16.         Service service = new Service();    
  17.         try {    
  18.                
  19.            Call call = (Call) service.createCall();    
  20.             //设置地址  注意这里的地址是附带WSDL的  
  21.     call.setTargetEndpointAddress(new java.net.URL("http://localhost:8080/webserviceTest/services/webServiceTest?wsdl"));    
  22.           //设置要执行的方法                                      命名空间                        方法名  
  23.     call.setOperationName(new QName("http://localhost:8080/webserviceTest/services/webServiceTest","test"));   
  24.            //设置要传入参数,如果没有要传入的参数,则不要写这个   
  25.            //如果我们只有单个参数的话这个参数的名称其实可以随意选取   
  26.     call.addParameter("testStr", org.apache.axis.Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN);    
  27.             //设置返回的类型    
  28.     call.setReturnType(org.apache.axis.Constants.XSD_STRING);    
  29.                 
  30.            String name = "zhengfang.sun1";   
  31.            //执行,调用webservice    
  32.            String result = (String) call.invoke(new Object[]{name});    
  33.            System.out.println(result);                 
  34.         } catch (ServiceException e) {    
  35.            e.printStackTrace();    
  36.         }    
  37.     }    
  38.     
  39. }    
 

方法的执行结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451147.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA使用FTPClient类读写FTP

见:http://blog.csdn.net/kardelpeng/article/details/6588284 1.首先先导入相关jar包 2.创建一个连接FTP的工具类FTPUtil.Java [java] view plaincopy package com.metarnet.ftp.util; import java.io.IOException; import java.io.InputStream; import j…

Java IO类库之ObjectInputStream和ObjectOutPutStream

2019独角兽企业重金招聘Python工程师标准>>> 一、ObjectOutputStream 1 - ObjectOuputStream介绍 ObjectOutputStream(对象字节输出流),用于将一个序列化对象写入到创建ObjectOutputStream时传入的底层字节输入流中,通过源码可知该类继承Outp…

什么是覆盖索引?如何利用覆盖索引进行SQL语句优化?

如果你不知道什么是覆盖索引,那么SQL性能优化便无从谈起! 什么是覆盖索引?如何利用索引进行SQL语句优化? 表结构 150多万的数据,这么一个简单的语句: 慢查询日志里居然很多用了1秒的,Explain的结果是&am…

ARM的商业模式是如何炼成的?

导读:保守、严谨,又有一些皇族气质,作为一家拥有纯正英国血统的公司,ARM看似呆板的作风却让其在移动互联网大潮中势如破竹,没有对手。也许过于看重产业链伙伴的声音,导致ARM的决策有些迟缓,比如…

java 中 FtpClient 实现 FTP 文件上传、下载

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 源代码大部分是网上找的,查来查去,找到几个可以用的例子,改来改去,揉合成现在这个样子。…

Web Service 简单实例(java 版本) ,IDE自动生成客户端代码方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、客户端工程 jar 包 : 二、1. 服务端:( new 一个web service project ) package com;import javax.jws.…

最佳Linux服务器发行版

一款Linux发行版就如同一件衣服一样,适合自己的才是最好的选择。 对大型企业而言,当然首选Red Hat Enterprise Linux(RHEL)。Red Hat有完善的技术支持服务,而且在我们周围,非常容易找到持有Red Hat认证的技…

「机械」4大传动方式优劣对比:机械、电气、气压、液压

传动方式有很多种。目前应用比较多的四大类传动方式(机械、电气、液压和气压)中,没有一种动力传动是十全十美的。今天跟大家分享4种传动方式的优劣对比。 一. 机械传动 1. 齿轮传动 齿轮传动是机械传动中应用最广的一种传动形式。它的传动比较…

AMQP 协议介绍

RabbitMQ 是遵从AMQP 协议的, 换句话说, RabbitMQ 就是AMQP 协议的Erlang 的实现(当然RabbitMQ 还支持STOMP2 、MQTT3 等协议) 0 AMQP 的模型架构和RabbitMQ 的模型架构是一样的,生产者将消息发送给交换器,交换器和队列绑定。当生…

Java已死?九百万程序员说不

Java没死,事实上它拥有足够的能量让你的应用跑起来。那些对Java吹毛求疵人频繁地聚焦在一些小众问题上,总是和其他技术或者语言做些不公平的对比,这些语言并没有像Java一样得到广泛应用及长远的历史。 现在的小孩都能学Java,它在…

CSS中position的absolute和relative用法

static: HTML元素的默认定位方式absolute: 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。而其层叠通过z-index属性定义。绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父…

避免流量高峰期CDN问题的10个方法

在视频流媒体中,因平台火爆而出现问题是件好事。至少,这比根本没有观众要好。\\也许你正在使用世界级的CDN,但是,在大型赛事期间,当CDN的服务器和对等点流量变得饱和的时候,一些用户还是无法享受到流畅的体…

Android应用进入爆发期 手机游戏仍是市场重心

近日,91无线发布了《91无线移动应用发展趋势报告(Android版)》。报告显示,2012年,无论Android移动应用用户下载还是开发者研发均呈爆发态势,手机游戏仍是市场重心所在。同时,Android移动应用下载…

WebService中文件传输

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 WebService处理传递普通的信息,还可以传输文件,下面介绍WebService是怎么完成文件传输的。 1、 首先编写服务器端…

Django框架-Form组件

一、DjangoForm组件介绍 我们之前在html页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如验证用户是否输入,输入的长度和格式等是否正…

主席树的各类模板(区间第k大数【动,静】,区间不同数的个数,区间=k的个数)...

取板粗 好东西来的 1.(HDOJ2665)http://acm.hdu.edu.cn/showproblem.php?pid2665 (POJ2104)http://poj.org/problem?id2104 (POJ2761)http://poj.org/problem?id2761 题意:求区间第K大&…

分享Spring Cloud分布式微服务架构图

分布式、微服务、云架构JAVA语言开发、跨平台、高性能、高可用、安全、服务化、模块化、组件化、驱动式开发模式 从现在开始,我这边会将近期研发的springcloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友&#xff0…

Lyft Level 5 Challenge 2018 - Elimination Round翻车记

打猝死场感觉非常作死。 A&#xff1a;判一下起点和终点是否在其两侧即可。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; int read() {int x0,…

mysql用户的权限分配

2019独角兽企业重金招聘Python工程师标准>>> 因今天在分配数据库权限的时候&#xff0c;同事反映账户不能使用函数&#xff0c;遂搜集资料总结了一番关于mysql用户的权限分配。 MySQL 赋予用户权限命令的简单格式可概括为&#xff1a; grant 权限 on 数据库对象 to …