微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Spring WS发布静态WSDL和相关的XSD模式

如何解决使用Spring WS发布静态WSDL和相关的XSD模式

Spring Web服务实际上有一种优雅的方法。您需要做的就是SimpleXsdSchema在bean定义xml文件中定义一个具有正确ID(将用作不带.xsd的xsd名称)的bean,如下所示

<bean id="my" 
        class="org.springframework.xml.xsd.SimpleXsdSchema">
        <property 
            name="xsd" 
            value="/mypackage/my.xsd">
        </property>
</bean>

在以下链接中可以找到更多信息(包括示例): Spring Web Service中带有导入XML模式的静态WSDL。

解决方法

我有一个模块,其中有我的XSD模式,其中一个模式可以使用模式位置内的相对路径引用另一个模式:

<xs:import namespace="http://my.namespace.org" schemaLocation="../mypackage/my.xsd"/>

在这里,我还使用xjc从这些xsd模式生成Jaxb bean。

现在,我有了一个使用spring-ws(2.0.4)实现我的Web服务的模块。我想使用 静态WSDL
并将其与xsd模式一起发布,其中模式位置将转换为URL,例如“ http://myerver.url.com/my.xsd”。

问题是如何优雅地实现这一目标?

(或者将XSD组合为一个模式,然后将其组合为WSDL)

(从理论上讲,我可以使用脚本转换这些XSD,并将它们添加到资源(xsd和wsdl)到(弹簧调度程序)servlet中,但是在我看来,这并不是很舒服

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。