2

私はAxisの初心者です。現在、すべてが 1 つの wsdl で動作します。axis を使用して services.xml を作成します。

現在、別の名前空間で新しい wsdl ファイルを作成しています。これら 2 つの wsdl ファイルを使用して単一の services.xml ファイルを生成するにはどうすればよいですか?

私が達成したいのは、両方の SOAP サービスが 1 つのポートにバインドされることです。

ちなみに、プロジェクトのビルドにはantを使用しています。

ありがとう

4

1 に答える 1

0

次のようなantconcatルールを使用します。

    <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...>これにより、ソース ファイル (2 つの要素) が宛先ファイル (destfile属性)に連結されます。この<filterchain>セクションでは、連結中にテキストを変更できます。1つ目は、2 つのファイルが連結されているポイントからタグを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 に答える