2017-10-30 33 views
0

webservices를 게시하는 전쟁이 있습니다. 웹 서비스는 Axis 1.7.2를 사용하여 구축 및 배치됩니다. 웹 서비스에서 WS-STS를 사용하여 보호 할 수있는 코드를 개발했습니다. 이것은 WSO2 Identity Server의 보안 토큰 서버에서 작동합니다.Axis 1.7.2를 사용하여 구축 된 웹 서비스 용 PingFederate가있는 WS-STS

PingFederate의 STS에서 웹 서비스를 보안하는 동안 문제가 발생합니다. 구성 단계 중 하나는 연결 데이터베이스에 정책을 추가하는 것입니다. 자바 코드는 정책 XML을 픽업하여 모든 웹 서비스에 대한 'services.xml'에 추가합니다.

나는 다음과 같은 PingFederate의 URL에서 WS-트러스트 정책을 가지고 :

https://localhost:9031/pf/ws-trust_sts_metadata.ping PartnerSpId=CONNECTIONNAME&type=mex 

정책의 내용은 다음과 같습니다

<wsp:Policy wsu:Id="username"> 
<wsp:ExactlyOne> 
    <wsp:All> 
    <sp:TransportBinding> 
     <wsp:Policy> 
     <sp:TransportToken> 
      <wsp:Policy> 
      <sp:HttpsToken RequireClientCertificate="false"/> 
      </wsp:Policy> 
     </sp:TransportToken> 
     <sp:AlgorithmSuite> 
      <wsp:Policy> 
      <sp:Basic256/> 
      </wsp:Policy> 
     </sp:AlgorithmSuite> 
     <sp:Layout> 
      <wsp:Policy> 
      <sp:Strict/> 
      </wsp:Policy> 
     </sp:Layout> 
     <sp:IncludeTimestamp/> 
     </wsp:Policy> 
    </sp:TransportBinding> 
    <sp:SignedEncryptedSupportingTokens> 
     <wsp:Policy> 
     <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> 
      <wsp:Policy> 
      <sp:WssUsernameToken10/> 
      </wsp:Policy> 
     </sp:UsernameToken> 
     </wsp:Policy> 
    </sp:SignedEncryptedSupportingTokens> 
    <sp:EndorsingSupportingTokens> 
     <wsp:Policy> 
     <sp:KeyValueToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never" wsp:Optional="true"/> 
     <sp:SignedParts> 
      <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing"/> 
     </sp:SignedParts> 
     </wsp:Policy> 
    </sp:EndorsingSupportingTokens> 
    <sp:Wss11> 
     <wsp:Policy> 
     <sp:MustSupportRefKeyIdentifier/> 
     <sp:MustSupportRefIssuerSerial/> 
     <sp:MustSupportRefThumbprint/> 
     <sp:MustSupportRefEncryptedKey/> 
     </wsp:Policy> 
    </sp:Wss11> 
    <sp:Trust13> 
     <wsp:Policy> 
     <sp:MustSupportIssuedTokens/> 
     <sp:RequireClientEntropy/> 
     <sp:RequireServerEntropy/> 
     </wsp:Policy> 
    </sp:Trust13> 
    <wsaw:UsingAddressing/> 
    </wsp:All> 
</wsp:ExactlyOne> 

The services are failing to deploy with the following exception : 

    Caused by: com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix "wsaw" 
at [row,col {unknown-source}]: [58,29] 
    at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:606) 
    at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:479) 
    at com.ctc.wstx.sr.InputElementStack.resolveAndValidateElement(InputElementStack.java:507) 
    at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2977) 
    at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2837) 
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1072) 
    at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225) 
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:666) 
    ... 62 more 

누군가가 가리킬 수있는 경우 PingFederate 용 STS 키트 또는 자습서는 greate 도움이 될 것입니다.

답변

0

네임 스페이스에 대한 불만이 있기 때문에 http://www.w3.org/2006/05/addressing/wsdl 네임 스페이스를로드하려고 시도 했습니까?

자료 : https://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/

+0

그것을 일할 수있는 기회가 없어요. 아주 곧있을 것입니다. 시도하고 업데이트 할 것입니다. 감사합니다 – Vish

+0

도와 주셔서 고맙습니다. STS wsdl을 SOAPUI로 가져올 수 있습니다. 여기 퍼즐의 다른 부분을 통해 나를 안내 해주는 훌륭한 자습서가 있습니까? – Vish

+0

무엇을위한 지침서, Vish? Ping의 STS 통합 키트를 사용 해본 적이 있습니까? –