【问题标题】:How to generate one services.xml with multiple wsdl files如何使用多个 wsdl 文件生成一个 services.xml
【发布时间】:2012-12-04 02:20:33
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

    标签: java soap wsdl axis2


    【解决方案1】:

    我们使用 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="&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>
    

    这会将源文件(两个 &lt;file...&gt; 元素)连接到目标文件(destfile 属性)。 &lt;filterchain&gt; 部分允许您在连接期间更改文本。此处的第一个 replaceregex 删除了两个文件连接处的 &lt;/servicegroup&gt;&lt;servicegroup&gt; 标记。其他replaceregex 条目可用于更改服务实现类的名称、添加服务生命周期类条目或进行其他更改。

    在我们的一些项目中,原始 services.xml 文件存储在 zip 文件或 jar 文件中,而不是直接存储在文件系统中。为此,您将使用 &lt;zipentry...&gt; 元素而不是 &lt;file...&gt; 元素:

    <zipentry zipfile="/some/jarfile.jar" name="resources/services.xml"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      • 1970-01-01
      相关资源
      最近更新 更多