WebService 客户端要怎么调用,(涉及复杂对象)
資深大佬 : Renco 6
最近一个需求需要调用外部的 webservice 系统,系统内部之前有过 webservice 调用的 demo,用的是 axis 的调用方式,但是是适用于,请求对象和接受对象均为简单类型(如 String 的场景)。
目前新需求提供的接口是 请求对象和返回对象都为 JavaBean 的格式,采用 axis 调用方式需要序列化,通过 axis 的一个方法注册,但是似乎需要服务端那边做配置?
带有复杂类型参数的 没学过 webservice,客户端用什么方式调。没学过 webservice 相关的知识,需求比较紧急,帮帮孩子。
大佬有話說 (8)
-
資深大佬 : kop1989我给 lz 翻译翻译:
lz 之前用的是一个 JAVA 生态下的名叫 axis 的 webService 框架,这个框架在 06 年停止的维护。
之前只用来传单一的类型数据。比如 int 、long 、String (这个其实也算是对象,但就不发散了)
现在需要传一个包含多个字段的业务对象。不知道该如何传递。我的解答:
最简单的方式是原接口传递 string 不变,将 object 序列化为 JSON 字符串,接收方把 JSON 字符串反序列化为对象。(前提是双方都要有此对象类声明。) -
資深大佬 : Jrue0011webservice 我也不太了解,你想问的可能是怎么把 java bean 序列化成 soap 格式的 xml 报文,以及怎么从这种 xml 报文中反序列化获得 java bean ?
-
主 資深大佬 : Renco@Jrue0011 对的
-
主 資深大佬 : Renco@kop1989 感谢翻译,我描述的有点乱
-
資深大佬 : Asuka0947gson string to Object.class 我是这么做的
-
資深大佬 : mamumu直接用 idea(需要安装个插件 soapui)或者 eclipse 里边有工具直接根据 wsdl 生成客户端代码,如果参数是对象的话会自动生成的
-
主 資深大佬 : Renco明白了,java11 好像没有 webServcie 相关的包,生成的代码注释会报错。。换成 JDK8 就可以
-
資深大佬 : wc951不管是 axis1 还是 2 都可以生成 javabean 的,实在不会用 cxf 也行,只要有 wsdl 就能生成调用客户端