我是Axis的新手。目前,一切都适用于一个 wsdl。我们使用axis来创建services.xml。
现在我在不同的命名空间下创建一个新的 wsdl 文件。如何使用这两个 wsdl 文件生成单个 services.xml 文件?
我想要实现的是两个 SOAP 服务都绑定到一个端口。
顺便说一句,我正在使用 ant 来构建项目。
谢谢
我们使用如下蚂蚁concat
规则:
<concat destfile="/some/final/services.xml" fixlastline="yes">
<file file="/first/services.xml" />
<file file="/second/services.xml" />
<filterchain><tokenfilter>
<filetokenizer />
<replaceregex
pattern="</serviceGroup>.+?<serviceGroup>"
flags="gs" />
<replaceregex
pattern="first.default.service.class"
replace="first.actual.service.class" />
<replaceregex
pattern="second.default.service.class"
replace="second.actual.service.class" />
</tokenfilter></filterchain>
</concat>
这将源文件(两个<file...>
元素)连接到目标文件(destfile
属性)中。该<filterchain>
部分允许您在连接期间更改文本。这里的第一个从连接两个文件的点中replaceregex
删除标签。</servicegroup><servicegroup>
其他replaceregex
条目可用于更改服务实现类的名称、添加服务生命周期类条目或进行其他更改。
在我们的一些项目中,原始services.xml
文件存储在 zipfile 或 jarfile 中,而不是直接存储在文件系统中。为此,您将使用<zipentry...>
元素而不是<file...>
元素:
<zipentry zipfile="/some/jarfile.jar" name="resources/services.xml"/>