gpt4 book ai didi

web-services - 使用 jax-ws-catalog.xml 解析导入的 xsd :s in wsdl

转载 作者:行者123 更新时间:2023-12-04 13:50:28 26 4
gpt4 key购买 nike

我想在 Weblogic 上使用 JAX-WS 2.1 部署 Web 服务,其中 wsdl 导入模式,但我更愿意将它放在另一个位置而不是与 wsdl 一起使用,最好应该从类路径加载它。

我希望我可以使用 jax-ws-catalog.xml 来映射它,但我似乎无法让 Weblogic 在部署应用程序时选择它,然后在找不到 xsd 时失败。

也许我想要做的事情是不可能的,并且目录映射仅用于 Web 服务客户端,我还没有找到任何关于此的明确文档。

wsdl 中的导入如下所示:

 <xs:import namespace="com.xyz.common/1.0"
schemaLocation="com.xyz.Common.1.0.xsd" />

放在 WEB-INF 文件夹中的 jax-ws-catalog.xml 如下所示:
<?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>

正如我所说,这种用法甚至可能不受支持。我将不胜感激任何指点。

谢谢。

最佳答案

我认为 JAX-WS jax-ws-catalog.xml如果您通过 sun-jaxws.xml 发布端点,则支持(这意味着通过 com.sun.xml.ws.transport.http.servlet.WSServletContextListener 等)。查看 JAX-WS 源代码,我看到如果使用 W3CEndpointReferenceBuilder 则支持目录/Provider.createW3CEndpointReference() (也许 this article 会给你更多信息)。

我建议你做的是在 Debug模式下启动 Weblogic AS 并在类 com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser 的两个公共(public)静态 parse() 方法上设置断点。 .

关于web-services - 使用 jax-ws-catalog.xml 解析导入的 xsd :s in wsdl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087481/

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