看了很多博客,发现都是cp出来说明也不清楚。不是缺包就是少代码,一贴就不负责任。自己最后找到了方法,写一个比较完整的方法给大家提供。

  1. 确保webservice接口可以在网页进行访问,调用webservice接口之前都会确认。如图为可用

2. 可用之后开始编写代码

依赖如下:

 <!-- https://mvnrepository.com/artifact/org.apache.axis/axis --><dependency><groupId>org.apache.axis</groupId><artifactId>axis</artifactId><version>1.4</version></dependency><!-- https://mvnrepository.com/artifact/javax.xml/jaxrpc-api --><dependency><groupId>javax.xml</groupId><artifactId>jaxrpc-api</artifactId><version>1.1</version></dependency><!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version></dependency><!-- https://mvnrepository.com/artifact/commons-discovery/commons-discovery --><dependency><groupId>commons-discovery</groupId><artifactId>commons-discovery</artifactId><version>0.2</version></dependency>

代码如下

package com.sitech.miso.ecosp.util;import org.apache.axis.client.Call;
import org.apache.axis.client.Service;public class WebServiceUtils {public static String callService(String serviceUrl,String methodName,Object [] args)  {// 创建一个服务(service)调用(call)String ret="";try {Service service = new Service();// 通过service创建call对象Call call = (Call) service.createCall();// 设置service所在URLcall.setTargetEndpointAddress(new java.net.URL(serviceUrl));call.setOperationName(methodName);//设置访问的方法名ret = (String) call.invoke(args);// Object 数组封装了传递的参数System.out.println(ret);} catch (Exception e) {e.printStackTrace();}return ret;}public static String startWebService(String cs) {String res = "";try {res=callService("http://134.175.119.89:8981/YZFBusi/services/YZFBusiSOAP?wsdl","callService",new Object[]{cs});} catch (Exception e) {e.printStackTrace();}return res;}//请求串-xml格式 根据个人需求而拼接public static void main(String[] args) {StringBuffer sb = new StringBuffer();sb.append("<REQUEST>");sb.append("<PARAMS>");sb.append("<MESSAGETYPE>4001</MESSAGETYPE>");sb.append("<reqChannel>").append("100009").append("</reqChannel>");sb.append("<senttype>").append("2").append("</senttype>");sb.append("<merchantChannel>").append("3").append("</merchantChannel>");sb.append("<marketCfgId>").append("23124214").append("</marketCfgId>");sb.append("<firstMerchantId>").append("3214124").append("</firstMerchantId>");sb.append("<secondMerchantId>").append("dwq34214").append("</secondMerchantId>");sb.append("<thirdMerchantId></thirdMerchantId>");sb.append("<fourthMerchantId></fourthMerchantId>");sb.append("<fifthMerchantId></fifthMerchantId>");sb.append("<acceptTransSeqNo>").append("4124214124").append("</acceptTransSeqNo>"); //430 +时间到毫秒17 +10位sb.append("<oldacceptTransSeqNo>").append("").append("</oldacceptTransSeqNo>");sb.append("<marketChannel>").append("100001").append("</marketChannel>");sb.append("<outTxnType>").append("242341").append("</outTxnType>");sb.append("<supplyOrgCode>").append("dwq3e4124").append("</supplyOrgCode>");sb.append("<productNo>").append("124214125").append("</productNo>");sb.append("<rebateAmt>").append("12").append("</rebateAmt>");sb.append("<tradeType>").append("342525").append("</tradeType>");sb.append("<acceptTransDate>").append("3453521").append("</acceptTransDate>");sb.append("<acceptTransType>").append("21312421").append("</acceptTransType>");sb.append("<callbackURL>").append("324235").append("</callbackURL>");sb.append("<channelId></channelId>");sb.append("<clerkId></clerkId>");sb.append("<clerkBestpayId></clerkBestpayId>");sb.append("<saleProductId></saleProductId>");sb.append("</PARAMS>");String reqXML = sb.toString();String tmpStr =reqXML.substring(reqXML.indexOf("<PARAMS>")+8, reqXML.indexOf("</PARAMS>")).trim(); //不包括PARAMStmpStr = tmpStr+"wggrdfaebkcld";String sign = MD5Util.MD5Encode(tmpStr, "utf-8").toUpperCase();sb.append("<sign>"+sign+"</sign>");sb.append("<flag>1</flag>");sb.append("</REQUEST>");WebServiceUtils.startWebService(sb.toString());//调用接口}}
//a.这个里面的访问地址,方法名,对应的是我上篇博客的webservice参数,我简单介绍下,前面是webservice接口所部署的服务器网络Ip,servers路径,hello服务名,dockinfoInsert你要调用的接口的方法名,new Object[]{cs}放你传递的参数。// b.这个一般是接口的提供方会给出接口介绍文档,然后你根据文档就可以找到对应的路径,方法名。

测试:直接运行main方法。查看日志,发现已经调通

其中有什么问题请留言会及时回复

java使用axis实现webservice接口调用相关推荐

  1. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用...

    近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...

  2. python发送soap报文_python用http发送soap报文进行webservice接口调用

    最近学习了python用http发送soap报文进行webservice接口调用,从网上找了些资料,为了方便下次温习,在此留下代码片段,也望高手指点: #!/usr/bin/env python # ...

  3. Java: 聚合数据API接口调用城市天气预报

    Java: 聚合数据API接口调用城市天气预报 点击进入[数据聚合_数据接口调用_开发者数据API开放平台](官网) 在pom文件中,加入依赖 <!--返回json数据--><dep ...

  4. 医院医生评价的java代码_基于JAVA的医院信息查询接口调用代码实例

    基于JAVA的医院信息查询接口调用代码实例 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io ...

  5. Java 使用Axis实现WebService实例

    在上一篇WebService实例中,基于jdk1.6以上的javax.jws 发布webservice接口.这篇博文则主要用eclipse/myeclipse 使用axis插件进行发布和调用WebSe ...

  6. android开发接口调用,Android开发中webService接口调用示例

    代码示例: package com.study.ws; import java.io.IOException; import org.ksoap2.SoapEnvelope; import org.k ...

  7. html调用天气预报wsdl服务,webservice接口调用天气预报例程

    [实例简介] c# winform 调用公共天气预报webservice接口,初学者参考,大神忽略 [实例截图] [核心代码] WSTest └── WS Test └── WindowsFormsA ...

  8. java来电_JAVA来电显示接口调用代码实例

    代码描述:基于JAVA的来电显示接口调用代码实例 关联数据:手机固话来电显示 接口地址:http://www.juhe.cn/docs/api/id/72 import java.io.Buffere ...

  9. 周易Java_基于JAVA的周易解梦接口调用代码实例

    基于JA V A的周易解梦接口调用代码实例 代码描述:基于JA V A的周易解梦接口调用代码实例 代码平台:聚合数据 import java.io.BufferedReader; import jav ...

最新文章

  1. 一篇文章让你了解区块链技术的发展阶段
  2. Computational methods for analysis of single molecule sequencing data
  3. Java 调用Oracle的存储过程
  4. mysql大表join小表速度很慢_mysql多表join中,为什么子查询会那么慢,怎么解决-问答-阿里云开发者社区-阿里云...
  5. 米斯特白帽培训讲义(v2)漏洞篇 提权
  6. eclipse3.2 汉化 汉化包下载
  7. linux memcache端口占用,Linux: memcache的安装和启动、停止、重启, 检查memcache server是否开启...
  8. 题目29 英文输入法单词联想
  9. 有监督机器学习训练流程---人工智能工作笔记0015
  10. 查看office2016是不是永久激活状态
  11. cousera-usable security
  12. 七日杀服务器怎么修改天数,七日杀如何调整天数 | 手游网游页游攻略大全
  13. 【PR】调整音频的声音从大到小
  14. python 安装dmPython
  15. 账套输出时文件服务器错误,账套输出时提示:连接失败,运行时错误53,文件未找到...
  16. JS 中文数转数字练习
  17. 【flask扩展】Flask-Migrate的使用
  18. Camstudio-免费的屏幕录像软件中文版下载使用教程:
  19. Bson类似于Protocol Buffer的数据形式,比json更轻量级更高效
  20. 【华为OD机试真题 JAVA】找到它

热门文章

  1. 【整理资料】空间信息网络通信协议
  2. Python视频图像播放中加入文字
  3. 如何在Linux上的命令行中设置Google Chrome浏览器的代理设置?
  4. 知识问答之信息检索-1
  5. 如何修改Bash Shell的提示符的格式和配色
  6. Java怎么顺序 或 逆序排序数组
  7. 到底什么是5G LAN?
  8. android关于讯飞语音包的开发
  9. D3D坐标系统下3D世界坐标映射到2D屏幕坐标的平移矩阵
  10. php花店销售系统代码_花店淡季来袭,新的业绩增长点到底在哪?