<!--
  ~  Licensed to the Apache Software Foundation (ASF) under one
  ~  or more contributor license agreements.  See the NOTICE file
  ~  distributed with this work for additional information
  ~  regarding copyright ownership.  The ASF licenses this file
  ~  to you under the Apache License, Version 2.0 (the
  ~  "License"); you may not use this file except in compliance
  ~  with the License.  You may obtain a copy of the License at
  ~
  ~   http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~  Unless required by applicable law or agreed to in writing,
  ~  software distributed under the License is distributed on an
  ~   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~  KIND, either express or implied.  See the License for the
  ~  specific language governing permissions and limitations
  ~  under the License.
  -->

<serviceGroup>
    <service name="SecureStockQuoteService" scope="application">
        <module ref="rampart"/>
        
        <schema> 
            <mapping package="samples.services" namespace="http://services.samples"/> 
        </schema>
         
        <messageReceivers>
            <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
                             class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
            <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
                             class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
        </messageReceivers>
        <parameter locked="false" name="ServiceClass">samples.services.SimpleStockQuoteService</parameter>
    
        <wsp:Policy wsu:Id="SigEncr" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
            <wsp:ExactlyOne>
                <wsp:All>
                    <sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                        <wsp:Policy>
                            <sp:InitiatorToken>
                                <wsp:Policy>
                                    <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
                                        <wsp:Policy>
                                            <sp:WssX509V3Token10/>
                                        </wsp:Policy>
                                    </sp:X509Token>
                                </wsp:Policy>
                            </sp:InitiatorToken>
                            <sp:RecipientToken>
                                <wsp:Policy>
                                    <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
                                        <wsp:Policy>
                                            <sp:WssX509V3Token10/>
                                        </wsp:Policy>
                                    </sp:X509Token>
                                </wsp:Policy>
                            </sp:RecipientToken>
                            <sp:AlgorithmSuite>
                                <wsp:Policy>
                                    <sp:Basic256/>
                                </wsp:Policy>
                            </sp:AlgorithmSuite>
                            <sp:Layout>
                                <wsp:Policy>
                                    <sp:Strict/>
                                </wsp:Policy>
                            </sp:Layout>
                            <sp:IncludeTimestamp/>
                            <sp:OnlySignEntireHeadersAndBody/>
                        </wsp:Policy>
                    </sp:AsymmetricBinding>
                    <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                        <wsp:Policy>
                            <sp:MustSupportRefKeyIdentifier/>
                            <sp:MustSupportRefIssuerSerial/>
                        </wsp:Policy>
                    </sp:Wss10>
                    <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">
                        <sp:Body/>
                    </sp:EncryptedParts>
    
                    <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 
                        <ramp:user>alice</ramp:user>
                        <ramp:encryptionUser>bob</ramp:encryptionUser>
                        <ramp:passwordCallbackClass>samples.userguide.PWCallback</ramp:passwordCallbackClass>
                        
                        <ramp:signatureCrypto>
                            <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
                                <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
                                <ramp:property name="org.apache.ws.security.crypto.merlin.file">store.jks</ramp:property>
                                <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
                            </ramp:crypto>
                        </ramp:signatureCrypto>
                        <ramp:encryptionCypto>
                            <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
                                <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
                                <ramp:property name="org.apache.ws.security.crypto.merlin.file">store.jks</ramp:property>
                                <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
                            </ramp:crypto>
                        </ramp:encryptionCypto>
                    </ramp:RampartConfig>
    
                </wsp:All>
            </wsp:ExactlyOne>
        </wsp:Policy>
    
    </service>
</serviceGroup>
