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

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

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

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

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

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

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

结果如下图所示

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

方法的执行结果

通过IDE生成和手动call调用webservice相关推荐

  1. java程序如何生成客户端_java webservice生成客户端代码并调用

    wsimport简介 在JDK的bin文件夹中,有一个wsimport.exe工具,可依据wsdl文件生成相应的类文件,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用web ...

  2. NetBeans 生成代码调用webService调用sopa

    开发 JAX-WS Web 服务客户端 在本教程中,您将使用 NetBeans IDE 提供的 Web 服务工具来分析拼写检查器 Web 服务,然后构建一个与该服务交互的 Web 客户端.该客户端使用 ...

  3. asmx+java客户端生成_java 调用webservice (asmx) 客户端开发示例

    这是本人第一次写博客,其实就是自己做个笔记,写的很粗糙,也希望能给跟我遇到同样问题的你一点帮助. 因为最近有个项目要调用webservice接口,之前接触的都是Java开发服务端和客户端的接口,开发前 ...

  4. Apache CXF生成java代码用java调用Webservice接口

    这里写自定义目录标题 使用java调用webservice接口 使用java调用webservice接口 当我们使用java去访问webservice的接口时,有很多种方式,这里我们使用apache ...

  5. C++利用gSoap调用WebService服务

    最近要利用C++调用WebService接口,中间工具是gSoap,IDE:VS2010,WebService接口:http://webservice.webxml.com.cn/WebService ...

  6. axis调用webservice客户端开发

    第一步:wsdl2Java.bat文件编写 Axis_Lib表示依赖的jar包路径 Output_Path表示生成的class路径 Package包名 还需要手动更改 -p %Package%表示we ...

  7. php使用webservivce_使用zeng studio 创建的php调用webservice soap简单实例

    这两天一直在研究webservice soap是个什么东西,究竟怎么创建webservice,又如何用php调用webservice的借口,经过奋战,终于总算弄懂一点的.然后我做了一个webservi ...

  8. .NET动态调用WebService

    这不是一篇教你了解WebService的博文,也不是对WebService的深入理解, 这是一篇教你在开发过程中,如果动态的调用WebService一个方法. 在比较常见的WebService调用,我 ...

  9. java用axis方式调用webservice接口

    最近需要使用webservice接口,所以总结了一下全过程,希望能够对大家有所帮助. 开发使用的项目框架是ssm框架,tomcat服务器. 首先我们会拿到一个调用webservice接口的网址,类似这 ...

最新文章

  1. Python 基础 - Day 2 Assignment - ShoppingCart 购物车程序
  2. 太白---落燕纷飞第一重 Android单元測试Instrumentation和irobotium
  3. C++编程人员容易犯的10个C#错误
  4. 分布式MQ消息存储选择
  5. Python input 函数 - Python零基础入门教程
  6. jenkins pipline 用法收集
  7. [转载] 七龙珠第一部——第072话 恶魔的厕所
  8. 30轧制过程的计算机控制系统,中厚板轧制过程计算机控制系统结构的研制(1)
  9. mangodb和php比较,php-mongodb从不同的数据库中选择
  10. vant:修改van-nav-bar__title颜色——vant中nav-bar组件标题颜色
  11. 服务器系统winpe提取驱动,WinPE 10 驱动程序包
  12. SharePoint CAML Query小结
  13. 数仓(五):数据建模--ER模型/维度建模,概念模型/逻辑模型/ 物理模型
  14. php的作品简介怎么写,作品简介(参赛作品简介怎么写)
  15. 《互联网DSP广告揭秘——精准投放与高效转化之道》一一 1.8 DMP数据管理平台 ...
  16. php html字符转换为字符串,PHP字符串函数html_entity_decode( 把HTML实体转换为字符)
  17. VC++6.0 MFC显示模态对话框和非模态对话框
  18. 文本匹配相似度计算---多种距离算法 ,多种相似度计算算法,一看就懂
  19. 将请求返回的图片转为Base64形式显示在页面上
  20. 教师博客能不能改成学生博客_学生应该博客吗?

热门文章

  1. 【技术】Qt对话框讲解
  2. 【Python 必会技巧】使用 Python 追加写入 json 文件或更改 json 文件中的值
  3. Qt 5.14 安装,windows10系统,64位,详细步骤,非常简单!
  4. 【UVA - 10020 】Minimal coverage (贪心,区间覆盖问题)
  5. 【蓝桥杯 - 练习】k倍区间(思维,数组)
  6. 【CodeForces - 803D】Magazine Ad(二分答案)
  7. 深入理解张正友相机标定法:数学理论详细推导
  8. 一台linux上运行多个mysql_linux下同时运行多个mysql
  9. matlab储备池算法,储备池计算概述.pdf
  10. Adobe网页无法访问服务器,Adobe Acrobat时提示“无法访问网络位置\startup”