Web services 使用jax-ws-catalog.xml解析wsdl中导入的xsd:s
我希望在Weblogic上使用JAX-WS2.1部署一个Web服务,其中wsdl导入一个模式,但我更希望将它放在另一个位置,而不是与wsdl一起,更希望它应该从类路径加载 我希望我可以使用jax-ws-catalog.xml来映射这一点,但我似乎无法让Weblogic在部署应用程序时使用它,而当找不到xsd时,应用程序就会失败 也许我想做的是不可能的,而且目录映射只用于Web服务客户端,我还没有找到任何关于这方面的清晰文档 wsdl中的导入如下所示:Web services 使用jax-ws-catalog.xml解析wsdl中导入的xsd:s,web-services,xsd,weblogic,jax-ws,catalog,Web Services,Xsd,Weblogic,Jax Ws,Catalog,我希望在Weblogic上使用JAX-WS2.1部署一个Web服务,其中wsdl导入一个模式,但我更希望将它放在另一个位置,而不是与wsdl一起,更希望它应该从类路径加载 我希望我可以使用jax-ws-catalog.xml来映射这一点,但我似乎无法让Weblogic在部署应用程序时使用它,而当找不到xsd时,应用程序就会失败 也许我想做的是不可能的,而且目录映射只用于Web服务客户端,我还没有找到任何关于这方面的清晰文档 wsdl中的导入如下所示: <xs:import namespa
<xs:import namespace="com.xyz.common/1.0"
schemaLocation="com.xyz.Common.1.0.xsd" />
<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
prefer="system">
<system systemId="com.xyz.Common.1.0.xsd"
uri="classpath:com.xyz.Common.1.0.xsd" />
</catalog>
放置在WEB-INF文件夹中的jax-ws-catalog.xml如下所示:
<xs:import namespace="com.xyz.common/1.0"
schemaLocation="com.xyz.Common.1.0.xsd" />
<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
prefer="system">
<system systemId="com.xyz.Common.1.0.xsd"
uri="classpath:com.xyz.Common.1.0.xsd" />
</catalog>
正如我所说,这种用法甚至可能不被支持。如果有任何建议,我将不胜感激
谢谢。我认为如果您通过发布端点(即通过
com.sun.xml.WS.transport.http.servlet.WSServletContextListener
等),那么JAX-WSJAX-WS
是受支持的。查看JAX-WS源代码,我发现如果使用W3CEndpointReferenceBuilder
/Provider.createW3CEndpointReference()
,则目录是受支持的(可能会提供更多信息)
我建议您在调试模式下启动Weblogic,并在类com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser
的两个公共静态parse()方法上设置断点