1

我必须维护一个 Java EE 5 Web 应用程序。此应用程序的一部分是通过 Web 服务(使用 WSDL 合同)交换消息。wsdl 用于通过 Eclipse wsdl2Java 生成 Java 类(我认为它使用 Axis)

现在我必须实现一个修改,我们通过 Web 服务调用的服务器必须能够以异步方式响应。事实上,服务器不会立即响应 SOAP 消息响应,但会在一段时间后调用客户端(我们的 Web 应用程序)公开的 Web 服务,将第一次调用的 SOAP 消息响应作为第二次调用的字段(参数)传递Web 服务调用。
然后,客户端将 SOAP 响应(或 XML)保存在一个文件中。

  • 有没有办法使用这个 XML 或 SOAP 消息文件填充已经生成的 Java 类?我的意思是一种模拟服务器直接响应的方法(提供 Axis 绑定存根)

    我也尝试过使用 JAXB(将 XML 绑定到 JAVA),但由于 SOAP 消息响应很复杂,所以当我调用 JAXBContext 时收到错误消息:

    CodPrestazione does not have a no-arg default constructor
    

    因为这个类是 wsdl2Java 生成的枚举类。

  • 有没有办法在不注释或修改java类的情况下绕过这个错误(这个类是生成的,所以我将被迫在每次重新生成时修改这个类)?

  • 使用保存的 SOAP 消息文件(或 XML)的最佳方式是什么?或者,如何使用 Axis 1.3 反序列化 SOAP?
4

0 回答 0