如何解决使用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 举报,一经查实,本站将立刻删除。