WebService 客户端要怎么调用,(涉及复杂对象) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Renco
V2EX    Java

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

  •  
  •   Renco Oct 16, 2020 2544 views
    This topic created in 2019 days ago, the information mentioned may be changed or developed.

    最近一个需求需要调用外部的 webservice 系统,系统内部之前有过 webservice 调用的 demo,用的是 axis 的调用方式,但是是适用于,请求对象和接受对象均为简单类型(如 String 的场景)。

    目前新需求提供的接口是 请求对象和返回对象都为 JavaBean 的格式,采用 axis 调用方式需要序列化,通过 axis 的一个方法注册,但是似乎需要服务端那边做配置?

    带有复杂类型参数的 没学过 webservice,客户端用什么方式调。没学过 webservice 相关的知识,需求比较紧急,帮帮孩子。

    8 replies    2020-10-16 23:39:58 +08:00
    kop1989
        1
    kop1989  
       Oct 16, 2020
    我给 lz 翻译翻译:
    lz 之前用的是一个 JAVA 生态下的名叫 axis 的 webService 框架,这个框架在 06 年停止的维护。
    之前只用来传单一的类型数据。比如 int 、long 、String (这个其实也算是对象,但就不发散了)
    现在需要传一个包含多个字段的业务对象。不知道该如何传递。

    我的解答:
    最简单的方式是原接口传递 string 不变,将 object 序列化为 JSON 字符串,接收方把 JSON 字符串反序列化为对象。(前提是双方都要有此对象类声明。)
    Jrue0011
        2
    Jrue0011  
       Oct 16, 2020
    webservice 我也不太了解,你想问的可能是怎么把 java bean 序列化成 soap 格式的 xml 报文,以及怎么从这种 xml 报文中反序列化获得 java bean ?
    Renco
        3
    Renco  
    OP
       Oct 16, 2020
    @Jrue0011 对的
    Renco
        4
    Renco  
    OP
       Oct 16, 2020
    @kop1989 感谢翻译,我描述的有点乱
    Asuka0947
        5
    Asuka0947  
       Oct 16, 2020
    gson string to Object.class 我是这么做的
    mamumu
        6
    mamumu  
       Oct 16, 2020
    直接用 idea(需要安装个插件 soapui)或者 eclipse 里边有工具直接根据 wsdl 生成客户端代码,如果参数是对象的话会自动生成的
    Renco
        7
    Renco  
    OP
       Oct 16, 2020
    明白了,java11 好像没有 webServcie 相关的包,生成的代码注释会报错。。换成 JDK8 就可以
    wc951
        8
    wc951  
       Oct 16, 2020
    不管是 axis1 还是 2 都可以生成 javabean 的,实在不会用 cxf 也行,只要有 wsdl 就能生成调用客户端
    About     Help     Advertise     Blog     API     FAQ     Solana     1126 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 18:13 PVG 02:13 LAX 11:13 JFK 14:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86