Thanks Mayank.

________________________________

From: Mayank Mishra [mailto:[EMAIL PROTECTED]
Sent: Thu 12/4/2008 2:14 PM
To: [email protected]
Subject: Re: WS-Policy configuration steps



Johnbosco, Lawrence wrote:
> Hello,
> 
> Can anyone provide me a working example implementing WS-Policy embedded 
> within the WSDL in CXF?  So far, I couldn't find any detailed material 
> regarding this.
> 
>  
Hi,

** WS-Policy provides a way for the provider of a web service to convey
conditions under which it provides the service. A invoker might use this
policy to decide whether to use or not to use the service.

WS-Policy just gives basic assertion support like, <wsp:All/>,
<wsp:ExactlyOne/> to express one set of policy or alternatives too. Any
conditions/requirements as assertions under <wsp:All/> become mandatory,
where as assertions inside <wsp:ExactlyOne/> are considered as
alternatives to each other.You can read more about various
combinations/interactions/alternative in OASIS WS-Policy Specification[1].

You can specify these WS-Poilcy assertions either inside input , output,
fault, operation, port, or in binding wsdl elements. You can either put
them directly as child elements of them, or else you can refer them
using <wsp:PolicyReference> element.

WS-Security Policy, WS-RM assertions are build on top of WS-Policy for
specifying security or reliable messaging requirements/constraints for a
service. For example, specifying security requirements for outgoing
message, I can write as,

      <wsp:Policy wsu:Id="Output_Policy">
             <wsp:ExactlyOne>
                <wsp:All>
                <sp:SignedParts
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
                    <sp:Body/>
                </sp:SignedParts>
                <sp:EncryptedParts
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
                          <wsu:Timestamp/>
                   </sp:EncryptedParts>
                </wsp:All>
             </wsp:ExactlyOne>
       </wsp:Policy>

and I can refer this policy as,

    <wsdl:binding name="WebTransactionServiceSoapBinding"
type="tns:CreditCard">
        <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
        <!--wsp:PolicyReference URI="#Endpoint_Policy"/-->
        <wsdl:operation name="purchase">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="purchase">
                <!--wsp:PolicyReference URI="#Input_Policy"/-->
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="purchaseResponse">
                <wsp:PolicyReference URI="#Output_Policy"/>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>

or specifying RM assertions as Embedded instead of referred can be,

<wsdl:service name="CartSLSBBeanService">
        <wsdl:port binding="ns1:CartSLSBBeanServiceSoapBinding"
name="CartSLSBBeanPort">
            <wswa:UsingAddressing
xmlns:wswa="http://www.w3.org/2005/02/addressing/wsdl"/>
            <soap:address location=" http://localhost:8181/cart/cart"/>
        <wsp:Policy xmlns:wsp="http://www.w3.org/2006/07/ws-policy";
                xmlns:wsu="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";

                wsu:Id="RM">
            <wsam:Addressing
xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata";>
            <wsrmp:RMAssertion
xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy";>
                <wsrmp:BaseRetransmissionInterval Milliseconds="10000"/>
            </wsrmp:RMAssertion>
        </wsp:Policy>
        </wsdl:port>
    </wsdl:service>

You can read more about WS-SecurityPolicy[2] and WS RM[3] so as to
understand what these assertions actually specify.

I hope this helps

[1]. http://www.w3.org/TR/ws-policy/
[2].
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/v1.2/ws-securitypolicy.html
[3].http://docs.oasis-open.org/ws-rx/wsrmp/200608/wsrmp-1.1-spec-cd-04.html


With Regards,
Mayank

> Thanks,
> Lawrence
>
>  



Reply via email to