2012-10-28 3 views
2

SOAPHandler에 의해 차단 될 간단한 EJB3 WebService를 만들었습니다. 빌드 중 오류 \ 경고가 발생합니다 (클래스 경로 오류를 얻는 데 사용됨, 모두 수정 됨). WS를 배포하고 호출 할 수 있지만 서버가 HandlerChain 부분을 완전히 무시하고 절대로 가져 오지 않습니다. 히트. 내 코드는 다음과 같습니다
핸들러 :Weblogic 10.3.6 @HandlerChain을 무시합니다.

public class SecuritySOAPHandler implements SOAPHandler<SOAPMessageContext> { ... } 


빈 :

@Stateless 
@WebService(
     portName = "ExampleWSPort", 
     serviceName="ExampleWS"  
     ) 
@HandlerChain(file="handlerchain.xml") 
public class ExampleWS { 

    public ExampleWS() 
    { 

    } 
    @WebMethod 
public String first(String input) 
{ 
    return input + " Got"; 
} 

handlerchain.xml : 어떤 도움을 주시면 감사

<?xml version="1.0" encoding="UTF-8"?> 

<jws:handler-chains xmlns:jws="http://java.sun.com/xml/ns/javaee"> 
<!-- Note: The '*" denotes a wildcard. --> 

    <jws:handler-chain name="MyHandlerChain"> 
     <jws:protocol-bindings>##SOAP11_HTTP ##ANOTHER_BINDING</jws:protocol-bindings> 
     <jws:port-name-pattern 
       xmlns:ns1="http://handlersample.samples.ibm.com/">ns1:MySampl*</jws:port-name-pattern> 
     <jws:service-name-pattern 
       xmlns:ns1="http://handlersample.samples.ibm.com/">ns1:*</jws:service-name-pattern> 
     <jws:handler> 
      <jws:handler-class>com.soaphandlers.SecuritySOAPHandler</jws:handler-class> 
     </jws:handler> 

    </jws:handler-chain> 

</jws:handler-chains> 

. 감사

+0

귀하의 처리기는 어디에서 구현 되었습니까? – kolossus

+0

나는 그것이 만 반환한다고 가정합니다. (getHeaders()는 null)이며, SOAPHandler 인터페이스 메소드가 입니다. – Stas

답변

1

나는 비슷한 문제가 다음과 같은 발견 :

  • 분명히 절대 또는 클래스 경로가 아주 잘 작동, 그래서 어느 ExampleWS 클래스 또는 사용과 같은 폴더에 XML을 넣어하지 않습니다 ../ 예를 들어, 내 경우에는 내가 이런 식으로 있습니다

    @HandlerChain(file="../../../../../../../META-INF/ws-handler-config.xml")

  • JWS에 : 난 그냥 만들어도 포기 된 예에서 오는 공간 문제 때문에 그것은 간체 제작 :

    <handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
    <handler-chain>
    <handler>
    <handler-class>util.interceptors.SOAPLoggingHandler</handler-class>
    </handler>
    </handler-chain>
    </handler-chains>

  • 이 변경

, 그것은 작동한다!

관련 문제