gpt4 book ai didi

java - setProperty 必须被 SOAPMessage 的所有子类覆盖

转载 作者:IT老高 更新时间:2023-10-28 20:53:12 26 4
gpt4 key购买 nike

我正在尝试在 JBoss 5.1.0 上的 WAR 应用程序中部署一些 Web 服务。

我已经使用 JAX-WS 工具 wsgen 从现有 wsdl 创建了源文件。这创建了服务文件和 @XmlType 注释类,它们将充当请求和响应包装器。

这些类在 JBoss 4.2.3 上运行良好,但是当迁移到 JBoss 5.1.0 时,我得到了这个异常。

java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage

我的配置:

  • Windows XP SP3(但在 Vista 和 Linux 上都一样)
  • Sun JDK 1.6.0_17
  • 适用于 jdk6 的 JBoss 5.1.0 正式版

提前致谢!

最佳答案

有几件事可能会出错,所以我会告诉你对我的情况有什么帮助(类似于你的情况,我使用的是 JDK 1.6.0_13)。

问题在于 JAR 不匹配。首先确保 JBoss 使用 JDK 1.6 检查您的 JAVA_HOME 环境。多变的。其次,确保您的类是使用 JDK 1.6 编译的。如果您从 Eclipse 运行项目,请确保 Eclipse 使用正确的 JDK,如果您从 Eclipse 运行 JBoss,则同样如此。

我想你说得对,所以有一些魔法。运行客户端不要使用来自 $JBOSS_HOME/client 的库,而只使用 $JBOSS_HOME/lib/endorsed 中提供的库。显然,如果您使用任何其他与 JAX-WS 无关的 API,例如 JPA 或 EJB 或 Servlet,您可以将它们添加到类路径中,但使用 lib/endorsed JAX-WS JAR。

在 JBoss 5.1 的情况下,它在我的特殊情况下有所帮助,在早期版本的 JBoss 中,其他一些技巧也有效,例如尝试添加 java 选项-Dsun.lang.ClassLoader.allowArraySyntax=true 或/和 -Djava.endorsed.dirs=$JBOSS_HOME/lib/endorsed 在启动客户端和 JBoss 时。

关于java - setProperty 必须被 SOAPMessage 的所有子类覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1738542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com