0

我有一场发布网络服务的战争。Web 服务是使用 Axis 1.7.2 构建和部署的。我已经开发了可以使用 WS-STS 保护 Web 服务的代码。这适用于 WSO2 身份服务器的安全令牌服务器。

我在通过 PingFederate 的 STS 保护 Web 服务时遇到问题。配置步骤之一是在连接数据库中添加策略。Java 代码将获取策略 XML 并将其添加到所有 Web 服务的“services.xml”中。

我从以下 PingFederate URL 获得了 WS-Trust 策略:

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 工具包或教程,那将是极大的帮助。

4

1 回答 1

0

由于它只是在抱怨命名空间,您是否尝试加载http://www.w3.org/2006/05/addressing/wsdl命名空间?

资料来源: https ://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/

于 2017-10-31T18:22:04.510 回答