第十六章 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-Addressing
的 Web
客户端一起使用时,此 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>
}
}
在此示例中,策略表达式包含在名为 Policy1
的 XData
块中。此块的名称对 WSDL
或任何 SOAP
操作均无影响。
网友评论