Axis2's wsdl2java fails on RPC/Encoded style web services

前端 未结 8 1419
离开以前
离开以前 2021-02-05 18:24

Is there any alternative to Axis2? Or the way to make it work (different data binding, for example)?

Retrieving document at \'...\'.
Exception in thread \"main\"         


        
8条回答
  •  悲哀的现实
    2021-02-05 18:47

    There are only 3 options that I have found that can be used in Java for old-style rpc/encoded web services:

    1) SUN's reference implementation of JAX-RPC (wscompile)

    2) WebLogic's clientgen (I used 8.1 version)

    3) Axis1 v1.4 wsdl2java

    Originally we used Axis 1.4 for that and it showed quite poor performance on relatively large service responses (>20k) i.e. client processing time increased more than twice comparing to plain HTTP request without parsing. And the time grows if response gets bigger. It took more than 30s to just deserialize 1MB large respose.

    SUN's generated client didn't really work and it failed on request with the message:

    unexpected element name: 
       expected=getSubscriberInfoReturn, 
       actual={ws.generated.api}getSubscriberInfoReturn
    

    I have tried using WebLogic's 8.1 clientgen, and compared client code to Axis 1.4 generated client's performance. And Axis won the race. So, even though Axis client is performing not that good on relatively large responses it still is the best option out there for old rpc/encoded web services :(.

提交回复
热议问题