2

Spring+ApacheCXF を使用して開発した Web サービスがあり、それらを JBoss AS7 に導入する必要があります。それらは CXFServlet によって適切にデプロイされています。

しかし、JBoss AS7 は @WebService アノテーションをスキャンしてそれらをデプロイします (Spring Injection なしで予想されるように)。

JBoss AS 7 で @WebService アノテーションのスキャンを無効にするには?

PS: .war ファイルとしてデプロイしています。

PS PS: 現在の cxf Web サービスは適切にデプロイされています。しかし、JBoss AS7 も @WebService クラスをスキャンしようとし、それらも (依存関係を注入せずに) デプロイしようとしています。JBossAS7 の @WebService クラスのスキャンを無効にする方法を探しています。

4

4 に答える 4

4

これは Jboss 6 にも当てはまります。Jboss 6.2.2で試しました。standalone.xml で次のようにコメントします。

<!-- <extension module="org.jboss.as.webservices"/> -->

次に、同じ standalone.xml で以下のスニペットをコメント化します。別のプロファイル名を使用している場合、またはドメイン モードで使用している場合は、同様の場所で行う必要があります。

<!-- 
    <subsystem xmlns="urn:jboss:domain:webservices:1.2">
        <modify-wsdl-address>true</modify-wsdl-address>
        <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
        <endpoint-config name="Standard-Endpoint-Config"/>
        <endpoint-config name="Recording-Endpoint-Config">
            <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
            </pre-handler-chain>
        </endpoint-config>
        <client-config name="Standard-Client-Config"/>
    </subsystem>
     -->
于 2015-01-19T06:26:40.293 に答える
2

これをstandalone.xmlから削除することをお勧めします

<extension module="org.jboss.as.webservices"/>

<subsystem xmlns="urn:jboss:domain:webservices:1.1">
    <modify-wsdl-address>true</modify-wsdl-address>
    <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
    <endpoint-config name="Standard-Endpoint-Config"/>
    <endpoint-config name="Recording-Endpoint-Config">
        <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
        <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
        </pre-handler-chain>
    </endpoint-config>
</subsystem>

これは、他の何かを使用できるようにjbossWebサービスを削除するために行ったことです。私はまだこれをテストしている最中ですが、サービスを展開していません。Springを使用してデプロイできるようになると思います。お役に立てれば。

于 2013-02-21T23:26:09.920 に答える
1

アプリケーション コンテキスト XML ファイルで exclude-filter を使用して、Web サービス コンポーネントを Spring コンポーネント スキャンから除外しています。

<context:component-scan base-package="your.application.base.package">
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    <context:exclude-filter type="annotation" expression="javax.jws.WebService" />
</context:component-scan>

同時に、CXF コンテキスト XML のコンポーネント スキャンにそれらを含めます。

于 2012-11-06T13:06:15.673 に答える
0

JBoss EAP 6.1 を使用していますが、サブシステム jaxrs と webservices を除いて同じ問題を解決しました。

jboss-deployment-structure.xml

    <?xml version="1.0"?>

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
        <deployment>
            <exclude-subsystems>
                <subsystem name="jaxrs" />
                <subsystem name="webservices" />
            </exclude-subsystems>
            <exclusions>
                <module name="javaee.api" />
                <module name="org.apache.log4j" />
            </exclusions>
            <dependencies>
                <module meta-inf="export" name="com.liferay.portal">
                    <imports>
                            <include path="META-INF" />
                    </imports>
                </module>
                <module name="javax.mail.api" />
                <module name="org.jboss.modules" />
            </dependencies>
        </deployment>
</jboss-deployment-structure>
于 2014-09-01T10:21:40.467 に答える