博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
clojure 调用web service
阅读量:5808 次
发布时间:2019-06-18

本文共 1007 字,大约阅读时间需要 3 分钟。

hot3.png

本来用asix调用...

但是比较纠结的是  在调用的时候有一个参数需要接口的class,

可是接口的打点class 在clojure是找不到的属性 无法使用

getClass class type . XXX class

这些都用了= =老是不对.

后来在一个地方看到个老外调用的...

也只是用的生成的方代码调用的

首先拿到wsdl.

然后用Java中带的一个wsimport 这个东西...

   这里有使用说明,看得懂的就去看看吧.

$JAVA_HOME/bin/wsimport -keep -p generated.test http://localhost:8080/services/HelloWorld?wsdl

java home 我就不用说了...找到这个东西...

-keep是生产源代码文件  也就是.java

-p 是输出到指定地方...不太确定= =哈哈

generated.test  这个就相当是包了~

后面的就是那个啥....

然后会在当前的地方生成一个文件夹 以generated\ test\ 一堆文件

然后到了用clj的时候

(ns org.ns.rpc.core)(import  '(generated.test HelloWorldService )  )(defn rpc-my-test[x]  (let [service (HelloWorldService.)        execute (. service getHelloWorld)]    (. execute sayHelloWorldFrom x)))(println (rpc-my-test "nimei"))

在那个test的包下 有3个文件  分别是一个以serviceName命名的interface 和一个带有service后缀的class

和你一个objectFactory 文件,其实interface和factory都不用只要用service那个就行了.

如果不同包下记得导入 不导入的话可以直接加包名.

其实更方便的是使用eclipse等工具生成client文件....反正调用就是这样了~~~

= =如果谁知道那个interface.class 在clojure中怎么用  请告诉我...

 

转载于:https://my.oschina.net/abyssVenus/blog/49323

你可能感兴趣的文章
验证DataGridView控件的数据输入
查看>>
POJ1033
查看>>
argparse - 命令行选项与参数解析(转)
查看>>
一维数组
查看>>
Linux学习笔记之三
查看>>
Floyd最短路算法
查看>>
Class.forName(String name)方法,到底会触发那个类加载器进行类加载行为?
查看>>
CentOS 6.6 FTP install
查看>>
C#------判断btye[]是否为空
查看>>
图解Ajax工作原理
查看>>
oracle导入导出小记
查看>>
聊一聊log4j2配置文件log4j2.xml
查看>>
NeHe OpenGL教程 第七课:光照和键盘
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>
第四章 TCP粘包/拆包问题的解决之道---4.1---
查看>>
html语言
查看>>
从源码看集合ArrayList
查看>>
spring-boot支持websocket
查看>>