文章
· 九月 5 阅读大约需 1 分钟

第十六章 WS-Policy 配置类详细信息 - 自定义配置示例

第十六章 WS-Policy 配置类详细信息 - 自定义配置示例

自定义配置示例

本节提供了一些自定义配置类的示例。

策略备选配置

以下配置类包括两种策略选择:使用 WS-Addressing 标头或不使用。

/// PolicyAlternatives.DivideWSConfig
Class PolicyAlternatives.DivideWSConfig Extends %SOAP.Configuration
{

XData service
{
<cfg:configuration xmlns:cfg="http://www.intersystems.com/configuration" 
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" 
xmlns:wsap="http://www.w3.org/2006/05/addressing/wsdl" 
xmlns:wsp="http://www.w3.org/ns/ws-policy" 
name="service">
  <cfg:service classname="PolicyAlternatives.DivideWS">
   <wsp:Policy>
     <wsp:ExactlyOne>
       <wsp:All>
         <wsap:UsingAddressing/>
       </wsp:All>
       <wsp:All>
         <wsp:Policy/>
       </wsp:All>
     </wsp:ExactlyOne>
    </wsp:Policy>
  </cfg:service>
</cfg:configuration>
}

}

当与附加策略需要 WS-AddressingWeb 客户端一起使用时,此 Web 服务将使用包含 WS-Addressing 标头的消息进行响应。当与策略不使用 WS-Addressing 的客户端一起使用时,此 Web 服务将使用不包含 WS-Addressing 标头的消息进行响应。

另一种情况是,一项策略要求 SSL/TLS,而另一项策略使用消息加密。

带策略参考的配置

以下配置类包含两个 XData 块。一个包含 ID 属性为 mypolicy 的策略。另一个包含 Web 服务的配置;此配置引用另一个 XData 块中包含的策略:

Class DemoPolicies.WithReferenceConfig Extends %SOAP.Configuration
{

XData service
{
<cfg:configuration 
xmlns:cfg="http://www.intersystems.com/configuration"  
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" 
xmlns:wsp="http://www.w3.org/ns/ws-policy" 
name="service">
  <cfg:service classname="DemoPolicies.WithReference">
    <wsp:PolicyReference URI="#mypolicy">
    </wsp:PolicyReference>
  </cfg:service>
</cfg:configuration>
}

XData Policy1
{
<wsp:Policy 
  xmlns:wsp="http://www.w3.org/ns/ws-policy" 
  xmlns:wsu="http://schemas.xmlsoap.org/ws/2003/06/utility"
  xmlns:wsap="http://www.w3.org/2006/05/addressing/wsdl" 
  xmlns:wsoma="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization" 
  wsu:Id="mypolicy">
 <wsap:UsingAddressing/>
 <wsoma:OptimizedMimeSerialization/>
</wsp:Policy>
}

}

在此示例中,策略表达式包含在名为 Policy1XData 块中。此块的名称对 WSDL 或任何 SOAP 操作均无影响。

讨论 (0)1
登录或注册以继续