【问题标题】:SOAP web services in Java without JAXB / JAX-WS WSDL code generation没有 JAXB / JAX-WS WSDL 代码生成的 Java 中的 SOAP Web 服务
【发布时间】:2013-10-07 22:27:51
【问题描述】:

如果尝试在 Java 中为 SOAP Web 服务(在 WSDL 中定义)实现客户端和服务器端组件,但希望使用 WSDL/JAXB,是否有任何资源/库我应该研究客户端和服务器存根的基于代码生成?

为了记录,我试图避免使用wsimport 生成存根的原因是wsimportxjc 都无法为我必须使用的模式文件正确生成Java 代码——它们数量众多而且相当复杂 - 尽管使用了分段编译,但我仍然遇到了 JAXB 代码生成逻辑中可能存在的错误(例如,请参阅 herehere),总的来说,我的印象是,当涉及到复杂时,这项技术并不是很可靠架构。

那么,我应该研究哪些资源或库来通过直接在 HTTP 连接上写入和读取 XML 内容来帮助构建 SOAP 服务?目前我只是在java.net.URLConnection 上打电话给write,比如:

    URLConnection connection = url.openConnection();
    connection.setDoOutput(true); // Triggers POST.
    connection.setRequestProperty("Accept"          , "text/xml, multipart/related");
    connection.setRequestProperty("Content-Type"    , "text/xml; charset=utf-8");
    connection.setRequestProperty("Host"            , url.getHost());
    connection.setRequestProperty("Proxy-Connection", "keep-alive");
    connection.setRequestProperty("Content-Length"  , String.valueOf(postContent.length()));
    OutputStream output = connection.getOutputStream();
    output.write(postContent.getBytes("UTF-8"));

【问题讨论】:

    标签: soap jax-ws xjc wsimport


    【解决方案1】:

    如果您需要一些“低级别”的东西(但不像将消息写成字符串那样极端),请查看SAAJ

    参考实现是here,您可以在The Java EE 5 Tutorial 找到入门教程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多