2012-02-14 3 views
2

Securing your Web services with Spring-WS에 관한 Spring 문서를 읽었지만 기사가 클라이언트 측이 아니라 서버 측과 관련되어있는 것처럼 보입니다. 실제로, 그것은 서버 측에 대해 Wss4jSecurityInterceptor으로 잘 작동하지만 외부 웹 서비스에 요청을 서명해야합니다.스프링을 사용하여 클라이언트 측 SOAP 요청을 처리하십시오.

첫 번째 질문입니다. Spring Web Services 문서의 제 7 장은 서버 측에만 적용됩니까?

초. 서명 된 헤더와 같은 보안을 서버 사이드에서 수행되는 것과 비슷한 방식으로 Spring을 사용하여 클라이언트 측 SOAP 요청에 추가 할 수 있습니까?

이 부분은 question입니다.하지만 서명이 아파치 CXF 및이 article과 같이 서명 된 것으로 가정에서 만든 것 같습니다.

미리 감사드립니다.

+0

정확히 설명하면 요청에 서명하는 것입니다. – jddsantaella

답변

1

글쎄, 나는 내 자신의 질문에 대답하기 위하여려고하고 두려워 :

먼저 하나 : NO. 스프링 웹 서비스 문서 7 장은 클라이언트와 서버의 양면에 관한 것이다.

두 번째 :이 봄 웹 서비스 문서의 7 장에 설명되는 한, fisrt 질문 YES에 대한 답과 주문에 따라.

<sws:interceptors> 
    <ref bean="wsSecurityInterceptor" /> 
</sws:interceptors> 

을이 인터셉터는 단지 서버 측 웹 서비스에 영향을

내 오류가 난이 방법으로 인터셉터를 선언 한 것이 었습니다. 클라이언트의 경우 다음과 같이 수행해야합니다.

<bean id="webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate"> 
    <property name="marshaller" ref="marshaller" /> 
    <property name="unmarshaller" ref="marshaller" /> 
    <property name="defaultUri" 
     value="http://localhost:8080/ws-demo/myws" /> 
    <property name="interceptors"> 
     <list> 
      <ref bean="wsSecurityInterceptor" /> 
     </list> 
    </property> 
</bean> 
관련 문제