wcf接口是由.net提供的webservice接口,一般是使用wsdl文件的样式发布,在wsdl文件中,包含该webservice暴露在外面可供使用的接口。

了解到的调用wfc接口方法有三种:

AXIS调用远程webservice

SOAP调用远程webservice

wsimport生成java代码,调用接口

在尝试方法1、2多次失败后,果断放弃,选择了简单易上手的方法3。通过jdk6.0以上版本自带的wsimport工具,即可根据wsdl文件生成相应的类文件。将这些生成的文件放在相应项目,就可以像调用本地的类一样调用webservice提供给的方法了。

具体步骤:

1、通过wsimport命令生成java代码,命令如下

wsimport 'http://XXX/BaseInfoService.svc?wsdl' -s /XXX/proxy/source -d /XXX/proxy/class -p proxy

-d:指定.class文件的输出目录

-s:指定.java文件的输出目录

-p:定义生成类的包名,不定义的话有默认包名

2、将生成文件放到项目中,创建调用类

public class TestWsimport{

public Map push(ParamDTO params) {

BaseInfoService client = new BaseInfoService();

// 将接口参数封装在ParamDTO中,代码更简洁

String requestInputStream = JSON.toJSONString(params);

String resultStr = client.getBasicHttpBindingIBaseInfoService()

//需要调用的方法

.sendParams(requestInputStream);

JSONObject resultObj = JSON.parseObject(resultStr);

Integer success = resultObj.getInteger("Success");

if (success == 0) {

Map errorMap = Maps.newConcurrentMap();

String errorDesc = resultObj.getString("Body");

errorMap.put(clueInfo.getRequestObjectList().get(0).getClueCode(), errorDesc);

return errorMap;

}

return null;

}

}

示例接口较简单,只需要发送数据。不同的webservice接口生成的代码会有出入,调用接口的代码需要根据实际情况进行调整。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。

java wsimport 调用_Java如何基于wsimport调用wcf接口相关推荐

  1. java 页面查询_JAVA页面浏览量查询api调用代码实例

    代码描述:基于JAVA页面浏览量查询api调用代码实例 接口地址:http://www.juhe.cn/docs/api/id/51 1.[代码][Java]代码 import java.io.Buf ...

  2. java魔法堂_Java魔法堂:调用外部程序

    前言 Java虽然五脏俱全但总有软肋,譬如获取CPU等硬件信息,当然我们可以通过JNI调用C/C++来获取,但对于对C/C++和Windows API不熟的码农是一系列复杂的学习和踩坑过程.那能不能通 ...

  3. java并发调用_Java并发教程–可调用,将来

    java并发调用 从Java的第一个发行版开始,Java的美丽之处之一就是我们可以轻松编写多线程程序并将异步处理引入我们的设计中. Thread类和Runnable接口与Java的内存管理模型结合在一 ...

  4. java 线程 函数_java – 从后台线程调用主线程上的函数

    更新 我已经更新了这个问题,使用建议的SwingWorker类包含Java实现的源代码,以实现与Objective-C示例相同的结果.希望这将有助于未来的冒险家. Document myDoc = . ...

  5. java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?

    求助,JAVA Spring 连接池 调用 Oracle 存储过程的问题?在Spring中配置了c3P0的连接池,在调用Oracle的存储过程时,报错[code]java.lang.ClassCast ...

  6. java中 参数的调用_Java中的参数调用

    Java程序设计语言使用值调用.也就是说.方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容. 下面说明下这种情况.假定一个方法试图将一个参数值增加至3倍: publi ...

  7. java 泛型调用方法调用_java – 如何使用泛型调用最具体的方法?

    有以下示例: public class Test { public static class A {} public static void main(String[] args) { A a = n ...

  8. java statement 存储过程_Java+sql server+CallableStatement调用存储过程三种情况 (转)...

    在JSP页面中进行测试,代码如下: String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs&quo ...

  9. java servlet 开发_Java之基于Servlet的Web开发简介

    由于学习的过程中,接触到了这部分内容,所以特别的在这进行整理,分享给大家. 1.定义 Servlet是Java Servlet的简称,称为小服务程序或服务连接器: 2.原理 从原理上讲,Servlet ...

  10. java链表集合_Java底层基于链表实现集合和映射--集合Set操作详解

    本文实例讲述了Java底层基于链表实现集合和映射--集合Set操作.分享给大家供大家参考,具体如下: 在Java底层基于二叉搜索树实现集合和映射中我们实现了底层基于二叉搜索树的集合,本节就底层如何基于 ...

最新文章

  1. scala akka 修炼之路5(scala特质应用场景分析)
  2. 换个角度看编程人员等级
  3. 上海网络推广浅析一个优质的404页面能给网站带来什么优化效果?
  4. 使用IDEA的Spring Initializr创建SpringBoot工程
  5. 静态连接和动态链接有什么区别?
  6. es6 Null 传导运算符
  7. sql2005镜像实现
  8. Excel 插件‘Aspen process data ‘在VBA中的基本使用
  9. Oracle对索引做统计,Oracle收集索引统计信息
  10. C/C++复习:向量的数量积
  11. python爬虫练习--爬上海法院开庭公告信息
  12. iOS Twitter登录无法收到回调数据
  13. Win7虚拟机安装vs2019,亲测有效
  14. 微信吸粉技巧:微信群怎么玩?
  15. 如何将数据移动到新硬盘(装机)
  16. tor 安装及使用教程
  17. kali工具Crunch
  18. Linux 中Mysql出现‘> 如何退出?
  19. 金博科技果园分销商城系统APP定制开发
  20. Mac OS X 10.9.5系统下创建quick3.3final项目出现问题

热门文章

  1. 什么是cs架构和bs架构
  2. 民航订票管理系统设计
  3. 我的c盘为多余的java.exejavaw.exe_java.exe,javac.exe,javaw.exe 是什么进程?
  4. Python链家广州二手房的数据爬取--数据爬取
  5. 配置和google浏览器版本一直的webdriver
  6. java在线编辑word_java web实现在线编辑word,并将word导出(一)
  7. android将手机能当蓝牙耳机使用吗,如何将Android手机作为蓝牙耳机?
  8. office2020与2016版的不同_Office 2016 各版本之间不同(要使用Access 2016必须安装Office 2016专业版)...
  9. 2019年最好的7个人工智能聊天机器人
  10. PowerMILL宏自动化编程视频教程