복붙노트

[SPRING] JBoss AS 7에서 @WebService 주석 스캐닝을 비활성화하는 방법은 무엇입니까?

SPRING

JBoss AS 7에서 @WebService 주석 스캐닝을 비활성화하는 방법은 무엇입니까?

Spring + ApacheCXF를 사용하여 개발 된 웹 서비스가 있으며 JBoss AS7에서 eploy해야합니다. CXFServlet에 의해 적절히 전개되고 있습니다.

하지만 JBoss AS7은 @WebService 주석 (Spring Injection없이 예상대로)을 스캐닝하여이를 배치합니다.

JBoss AS 7에서 @WebService 주석 스캐닝을 비활성화하는 방법은 무엇입니까?

추신 : 나는 .war 파일로 배포하고 있습니다.

PS 추신 : 현재 사용중인 cxf 웹 서비스가 제대로 배포되고 있습니다. 하지만 JBoss AS7은 또한 @WebService 클래스를 스캔하고 (종속성이 삽입되지 않은 채로) 그것들을 배치하려고합니다. @WebService 클래스에 대한 JBossAS7 스캔을 전환 할 방법을 찾고 있습니다.

해결법

  1. ==============================

    1.이것은 Jboss 6에도 적용됩니다. 내 Jboss 6.2.2에서 시도했습니다. standalone.xml에서 다음을 주석 처리하십시오.

    이것은 Jboss 6에도 적용됩니다. 내 Jboss 6.2.2에서 시도했습니다. standalone.xml에서 다음을 주석 처리하십시오.

    ->

    그런 다음 동일한 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>
         -->
    
  2. ==============================

    2.standalone.xml에서이 파일을 제거하고 싶습니다.

    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>
    

    이것은 내가 jboss 웹 서비스를 제거하기 위해 수행 한 작업이므로 다른 것을 사용할 수 있습니다. 아직 테스트 중이지만 더 이상 서비스를 배포하지 않습니다. 봄을 사용하여 배포 할 수 있다고 가정합니다. 희망이 도움이됩니다.

  3. ==============================

    3.내 응용 프로그램 컨텍스트 XML 파일에서 exclude-filter를 사용하여 Spring 구성 요소 검사에서 웹 서비스 구성 요소를 제외합니다.

    내 응용 프로그램 컨텍스트 XML 파일에서 exclude-filter를 사용하여 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의 구성 요소 검색에 이들을 포함합니다.

  4. ==============================

    4.저는 JBoss EAP 6.1을 사용하고 있습니다. 서브 시스템 jaxrs와 webservices를 제외하고 같은 문제를 해결했습니다.

    저는 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>
    
  5. from https://stackoverflow.com/questions/13022968/how-to-disable-scanning-webservice-annotations-in-jboss-as-7 by cc-by-sa and MIT license