【问题标题】:Auto generated WebLogic Web Service from WSDL causing errors从 WSDL 自动生成的 WebLogic Web 服务导致错误
【发布时间】:2012-05-01 05:32:13
【问题描述】:

我正在使用 Eclipse 从预先存在的 WSDL 自动创建 WebLogic Web 服务(不是客户端)。它接收 3 个请求参数(String、String、byte[])并以 1 个参数(byte[])响应。但是,自动生成的类包含产生以下错误的代码:

必须在 Web Service 中实现端点接口方法“public byte[] sign(java.lang.String, java.lang.String, byte[])”。

但是代码中明显存在sign方法。

所以,我尝试创建一个非常简单的 WSDL 来测试 Web 服务的自动生成。这次 WSDL 定义了 2 个请求参数(int, int)和 1 个响应(int)。

这一次错误没有出现并且工作正常。

我正在使用的工具

  • Eclipse - 3.7.1
  • Oracle Enterprise Pack for Eclipse 11.1.1.8.0
  • Oracle WebLogic Server 11gR1 (10.3.6)
  • Oracle JAX-WS 2.1.5 完成的类自动生成
  • Windows 7 - 32 位 1.6 JDK/JRE

重现错误的步骤:

  1. 启动 Eclipse
  2. 文件 → 新建 → Web 服务项目
  3. this WSDL 导入到您的WEB-INF/wsdl 目录中。
  4. 右键单击 WSDL 文件名,然后单击 WebLogic Web 服务 → 生成 Web 服务
  5. 请注意生成的 dss_DSSPortImpl 类文件中的错误。

使用this WSDL 重复上述步骤,生成的类文件可以正常工作。

非常感谢任何帮助。谢谢!


(由于隐私原因,WSDL 文件上的命名空间已从我的测试中更改。)

【问题讨论】:

    标签: java eclipse web-services wsdl weblogic11g


    【解决方案1】:

    目前我的笔记本电脑上没有安装 OEPE,因此无法重现您的确切步骤,但这可能有用:

    如果您仔细查看问题 wsdl,您将在 SignResponse 中看到两个元素:“签名”和“状态”。因为响应消息中有多个元素,所以 wsimport 为每个输出参数生成一个 Holder 参数作为方法签名的一部分,以提供桶来返回每个参数。当我直接针对问题 wsdl 运行 wsimport 时,我在服务接口 (Adapter.java) 中得到以下(预期的)签名:

    public void sign(
        @WebParam(name = "userId", targetNamespace = "")
        String userId,
        @WebParam(name = "fileType", targetNamespace = "")
        String fileType,
        @WebParam(name = "fileContent", targetNamespace = "")
        byte[] fileContent,
        @WebParam(name = "signature", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<byte[]> signature,
        @WebParam(name = "status", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> status);
    

    我怀疑,如果您通过 wsimport 针对第一个 wsdl 生成存根(我知道以这种方式生成可以很好地部署到 WLS,因为这是我的典型方法,WebLogic 是我们的部署环境),您将会成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-16
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      相关资源
      最近更新 更多