【问题标题】:Exception when using @SchemaValidation annotation on JAX-WS endpoint in Weblogic在 Weblogic 中的 JAX-WS 端点上使用 @SchemaValidation 注释时出现异常
【发布时间】:2010-10-07 13:21:22
【问题描述】:

我正在尝试让架构验证适用于部署在 Weblogic 10.3.3 上的 JAX-WS Web 服务。

根据文档,这应该就像添加注释一样简单 “@SchemaValidation”到端点类。但是,当我尝试此操作时,在部署应用程序时会引发以下异常:

Caused by: javax.xml.ws.WebServiceException: 
Annotation@com.sun.xml.internal.ws.developer.SchemaValidation 
(handler=class com.sun.xml.internal.ws.server.DraconianValidationErrorHandler)
is not recognizable, 
atleast one constructor of class com.sun.xml.internal.ws.developer.SchemaValidationFeature 
should be marked with @FeatureConstructor
at com.sun.xml.ws.binding.WebServiceFeatureList.getWebServiceFeatureBean(WebServiceFeatureList.java:169)
at com.sun.xml.ws.binding.WebServiceFeatureList.parseAnnotations(WebServiceFeatureList.java:141)

错误消息抱怨“com.sun.xml.internal.ws.developer.SchemaValidationFeature”没有使用@FeatureConstructor 注释的构造函数。当我看那个类时,它确实似乎有一个:

  @com.sun.xml.internal.ws.api.FeatureConstructor(value={"handler"})
  public SchemaValidationFeature(java.lang.Class arg0);

我在谷歌上搜索过,但找不到比 this 没有得到任何答案的不幸灵魂更多的参考。如果有人能指出我正确的方向,那就太好了,因为此时我被卡住了。

【问题讨论】:

    标签: java web-services jakarta-ee weblogic jax-ws


    【解决方案1】:

    SchemaValidation 注释正在工作,但请确保您正在导入正确的类。

    com.sun.xml.ws.developer.SchemaValidation

    而不是

    com.sun.xml.internal.ws.developer.SchemaValidation

    默认情况下,第二个类与 JDK 捆绑在一起。第一个(由 weblogic 使用)来自 glassfish.jaxws.rt_XXX.jar,因此您可能需要将此 jar 显式添加到您的类路径中。

    【讨论】:

      【解决方案2】:

      我最近遇到了同样的问题。

      为了克服这个问题,我添加了标签

      <validation-request>true</validation-request>

      到文件 weblogic-webservices.xml

      这启用了应用服务器上的 SOAP 请求验证。

      XML Structure of weblogic-webservices.xml

      注意:我无法成功使用 @SchemaValidation 标记,但上述方式 - 按预期工作。

      【讨论】:

      • 感谢 Nishant 的建议。但是,由于某种原因,我无法让 Weblogic 读取 webservices 描述符。我最终使用 SoapHandler 编写了自己的验证逻辑,这可能与我需要能够通过配置打开和关闭验证一样好。
      猜你喜欢
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      相关资源
      最近更新 更多