2

我是Axis的新手。目前,一切都适用于一个 wsdl。我们使用axis来创建services.xml。

现在我在不同的命名空间下创建一个新的 wsdl 文件。如何使用这两个 wsdl 文件生成单个 services.xml 文件?

我想要实现的是两个 SOAP 服务都绑定到一个端口。

顺便说一句,我正在使用 ant 来构建项目。

谢谢

4

1 回答 1

0

我们使用如下蚂蚁concat规则:

    <concat destfile="/some/final/services.xml" fixlastline="yes">
        <file file="/first/services.xml" />
        <file file="/second/services.xml" />
        <filterchain><tokenfilter>
            <filetokenizer />
            <replaceregex
                 pattern="&lt;/serviceGroup&gt;.+?&lt;serviceGroup&gt;"
                 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"/>
于 2012-12-05T16:11:08.687 回答