【问题标题】:Webservice in JBoss doesn't find xsdJBoss 中的 Web 服务找不到 xsd
【发布时间】:2014-06-13 14:47:27
【问题描述】:

我尝试实现在 JBoss AS 7.2 中运行的第一个 Web 服务。我使用 wsdlLocation-Property 将我的服务与预定义的 wsdl 文件链接:

@Stateless
@WebServiceProvider(wsdlLocation = "classpath:wsdl\\prototype.wsdl")
public class MyServiceImpl implements MyPort {


   @Override
   public PingResponse ping(PingRequest request) {
    //someCode
   }
}

在我的 wsdl 中,我包含一个存储在同一目录/类路径位置的 xsd 文件:

    <wsdl:types>
       <xs:schema targetNamespace="http://prototype/type" elementFormDefault="qualified">
         <xs:include schemaLocation="prototype.xsd"/>
       </xs:schema>
    </wsdl:types>

但似乎我的 jboss 没有找到这个 xsd 文件。或者更好的是,他搜索的位置不对。我做错了什么?

Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/schema): faultCode=PARSER_ERROR: Problem parsing 'prototype.xsd'.: java.io.FileNotFoundException: C:\tools\jboss\bin\prototype.xsd (The system cannot find the file specified)
at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2111)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:808)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:632)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(WSDLReaderImpl.java:593)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:305)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2265)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2251)
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:261)
at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:206)
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:349)
... 13 more

【问题讨论】:

  • 我自己不做。我希望 JBoss 能做到。

标签: web-services cxf jboss7.x jbossws


【解决方案1】:

我遇到了同样的问题,即在部署期间未找到 xsd。这个问题是间歇性的——有时部署很好。我的服务(wsdl)合同结构如下:

WEB-INF
   wsdl
   xsd
   policy

我将 xsd 和 policy 移到 wsdl 下,间歇性问题消失了。

感谢您抽出宝贵时间分享您的答案。它有帮助!

【讨论】:

    【解决方案2】:

    啊...我找到了解决方案。 wsdl 和 xsd 必须位于 META-INF/wsdl 或 WEB-INF/wsdl。类路径中的另一个位置似乎不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-19
      • 1970-01-01
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多