WebService 客户端要怎么调用,(涉及复杂对象)

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 字符串反序列化为对象。(前提是双方都要有此对象类声明。)

  • 資深大佬 : Jrue0011

    webservice 我也不太了解,你想问的可能是怎么把 java bean 序列化成 soap 格式的 xml 报文,以及怎么从这种 xml 报文中反序列化获得 java bean ?

  • 資深大佬 : Renco

    @Jrue0011 对的

  • 資深大佬 : Renco

    @kop1989 感谢翻译,我描述的有点乱

  • 資深大佬 : Asuka0947

    gson string to Object.class 我是这么做的

  • 資深大佬 : mamumu

    直接用 idea(需要安装个插件 soapui)或者 eclipse 里边有工具直接根据 wsdl 生成客户端代码,如果参数是对象的话会自动生成的

  • 資深大佬 : Renco

    明白了,java11 好像没有 webServcie 相关的包,生成的代码注释会报错。。换成 JDK8 就可以

  • 資深大佬 : wc951

    不管是 axis1 还是 2 都可以生成 javabean 的,实在不会用 cxf 也行,只要有 wsdl 就能生成调用客户端

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论