2013-10-01 2 views
0

나는 그것의 완벽하게 내 웹 서비스를 테스트하기 위해 내 SOAP의 UI에서이 작업을 실행 할 때마다 내 soapUISPRING의 webServiceTemplate.sendSourceAndReceiveToResult에 WS

<soapenv:Envelope xmlns:cen="http://netadmin.ghl.com/centralizedconfig" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
     <soapenv:Header> 
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
      <wsse:UsernameToken wsu:Id="UsernameToken-21"> 
       <wsse:Username>admin</wsse:Username> 
       <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">secret</wsse:Password> 
       <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">xo6ADfFZ5aqvukQZjUb6IQ==</wsse:Nonce> 
       <wsu:Created>2013-10-01T06:59:20.202Z</wsu:Created> 
      </wsse:UsernameToken> 
      <wsu:Timestamp wsu:Id="TS-20"> 
       <wsu:Created>2013-10-01T06:58:47.521Z</wsu:Created> 
       <wsu:Expires>2013-10-01T07:10:47.521Z</wsu:Expires> 
      </wsu:Timestamp> 
      </wsse:Security> 
     </soapenv:Header> 
     <soapenv:Body> 
      <cen:GetXMLRequest> 
      <cen:IpAddress>10.36.28.211</cen:IpAddress> 
      </cen:GetXMLRequest> 
     </soapenv:Body> 
    </soapenv:Envelope> 

작업하는 SOAP 메시지 호출이를 SOAP 메시지를 변환하는 방법 webServiceTemplate.sendSourceAndReceiveToResult 호출로이 비누 메시지를 번역하는 데 어려움을 겪고 있습니다. 웹 서비스 을 처음 접하고 어떻게하면 코드에 헤더 메시지를 통합 할 수 있는지 알 수 없습니다. 누군가 나를 도와 줄 수 있습니까?

클라이언트 전화 :

webServiceTemplate.sendSourceAndReceiveToResult (URL, 소스, 결과);

나는 소스 매개 변수

+0

당신이 당신의 Spring 설정 파일에 인터셉터를 구성 했 내 봄 클라이언트 애플리케이션 컨텍스트에 인터셉터를 추가 한의 보안 헤더를 포함하는 것 캔트? – VirtualTroll

+0

고마워, 내 고객을 봄으로 구성하여 정말로 알아 냈어. – Chizbox

답변

1

내가

<bean id="wss4jSecurityInterceptor" 
    class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor"> 
     <property name="securementActions" value="UsernameToken" /> 
     <property name="securementUsername" value="user" /> 
     <property name="securementPassword" value="password" /> 
     <property name="validationCallbackHandler" ref="callbackHandler" /> 
    </bean> 
+0

이 솔루션을 이해하지 못한다 ... 클라이언트 쪽에서 보안 요격기를 사용하고 있는가? 이 방법으로 클라이언트 비누 헤더를 수정하여 언급 한 wsse : Security head 매개 변수를 만들 수 있습니까? – IcedDante