<axisconfig name="AxisJava2.0">
    <!-- ================================================= -->
    <!-- Parameters -->
    <!-- ================================================= -->
    <parameter name="hotdeployment" locked="false">true</parameter>
    <parameter name="hotupdate" locked="false">false</parameter>
    <parameter name="enableMTOM" locked="false">false</parameter>

    <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
    <!--that behaviour.-->
    <parameter name="sendStacktraceDetailsWithFaults" locked="false">true</parameter>

    <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->
    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
    <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
    <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>

    <!--This is the user name and password of admin console-->
    <parameter name="userName" locked="false">admin</parameter>
    <parameter name="password" locked="false">axis2</parameter>

    <!--<parameter name="contextRoot" locked="false">axis2</parameter>-->
    <!--<parameter name="servicePath" locked="false">services</parameter>-->
    <!--Set the flag to true if you want to enable transport level session mangment-->
    <parameter name="manageTransportSession" locked="false">false</parameter>

    <!--Following two parameters will be used to handle REST in Axis2. The default settings will make Axis2 to have two-->
    <!--different endpoints, one for REST (AxisRESTServlet) one for SOAP message handling (AxisServlet). But following-->
    <!--parameters help to tweak the message handling of two main servlets. -->

    <!-- If the enableRESTInAxis2MainServlet is true, then Axis2MainServlet will handle both SOAP and REST messages -->
    <parameter name="enableRESTInAxis2MainServlet" locked="true">true</parameter>

    <!-- Following parameter will completely disable REST handling in both the servlets-->
    <parameter name="disableREST" locked="true">false</parameter>

    <!-- This will disable the separate servlet we have for REST handling. -->
    <parameter name="disableSeparateEndpointForREST" locked="true">false</parameter>



    <!-- ================================================= -->
    <!-- Message Receivers -->
    <!-- ================================================= -->
    <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->
    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
    <!--any operation -->
    <!--Note : You can ovride this for particular service by adding the same element with your requirement-->
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
    </messageReceivers>
    
    <!-- ================================================= -->
    <!-- Target Resolvers -->
    <!-- ================================================= -->
    <!-- Uncomment the following and specify the class name for your TargetResolver to add -->
    <!-- a TargetResolver. TargetResolvers are used to process the To EPR for example to -->
    <!-- choose a server in a cluster -->
    <!--<targetResolvers>-->
    <!--<targetResolver class="" />-->
    <!--</targetResolvers>-->
    
    
    <!-- ================================================= -->
    <!-- Transport Ins -->
    <!-- ================================================= -->
    <transportReceiver name="http"
                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
        <parameter name="port" locked="false">6060</parameter>
        <!--If you want to give your own host address for EPR generation-->
        <!--uncommet following paramter , and set as you required.-->
        <!--<parameter name="hostname" locked="false">http://myApp.com/ws</parameter>-->
    </transportReceiver>

    <transportReceiver name="tcp"
                       class="org.apache.axis2.transport.tcp.TCPServer">
        <parameter name="port" locked="false">6061</parameter>
        <!--If you want to give your own host address for EPR generation-->
        <!--uncommet following paramter , and set as you required.-->
        <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>-->
    </transportReceiver>

    <!-- ================================================= -->
    <!-- Transport Outs -->
    <!-- ================================================= -->

    <transportSender name="tcp"
                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
    <transportSender name="local"
                     class="org.apache.axis2.transport.local.LocalTransportSender"/>
    <transportSender name="http"
                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
    </transportSender>
    <transportSender name="https"
                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
    </transportSender>

	<module ref="addressing" />
	<module ref="sandesha2" />
	
    <!-- ================================================= -->
    <!-- Phases  -->
    <!-- ================================================= -->
    <phaseOrder type="InFlow">
        <!--  System pre defined phases       -->
         <phase name="Transport">
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
                <order phase="Transport"/>
            </handler>
            <handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
                <order phase="Transport"/>
            </handler>
        </phase>
        <phase name="Addressing">
             <handler name="AddressingBasedDispatcher"
                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
                 <order phase="Addressing"/>
            </handler>
        </phase>
        <phase name="Security"/>
        <phase name="PreDispatch"/>
        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
            <handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
            <handler name="RequestURIOperationDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
            <handler name="SOAPMessageBodyBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

            <handler name="HTTPLocationBasedDispatcher"
                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
        </phase>
        <phase name="RMPhase"/>
    </phaseOrder>
    <phaseOrder type="OutFlow">
        <!--      user can add his own phases to this area  -->
		<phase name="RMPhase" />
	    <phase name="OperationOutPhase"/>
        <!--system predefined phase-->
        <!--these phase will run irrespective of the service-->
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
        <phase name="Security"/>
    </phaseOrder>
    <phaseOrder type="InFaultFlow">
        <phase name="Transport">
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
                <order phase="Transport"/>
            </handler>
            <handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
                <order phase="Transport"/>
            </handler>
        </phase>
        <phase name="Addressing">
             <handler name="AddressingBasedDispatcher"
                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
                 <order phase="Addressing"/>
            </handler>
        </phase>
        <phase name="Security"/>
        <phase name="PreDispatch"/>
        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
            <handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
            <handler name="RequestURIOperationDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
            <handler name="SOAPMessageBodyBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

            <handler name="HTTPLocationBasedDispatcher"
                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
        </phase>
        <phase name="RMPhase"/>
    </phaseOrder>
    <phaseOrder type="OutFaultFlow">
        <!--      user can add his own phases to this area  -->
        <phase name="RMPhase" />
		<phase name="OperationOutFaultPhase"/>
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
    </phaseOrder>
    
	
	<!-- Rampart and Rahas configurations -->
	<wsp:Policy wsu:Id="SecConvPolicy2" 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:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
				<wsp:Policy>
					<sp:ProtectionToken>
						<wsp:Policy>
							<sp:SecureConversationToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
								<wsp:Policy>
									<sp:RequireDerivedKeys/>
									<sp:BootstrapPolicy>
										<wsp:Policy>
											<sp:EncryptedParts>
												<sp:Body/>
											</sp:EncryptedParts>
											<sp:SymmetricBinding>
												<wsp:Policy>
													<sp:ProtectionToken>
														<wsp:Policy>
															<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
																<wsp:Policy>
																	<sp:RequireDerivedKeys/>
																	<sp:RequireThumbprintReference/>
																	<sp:WssX509V3Token10/>
																</wsp:Policy>
															</sp:X509Token>
														</wsp:Policy>
													</sp:ProtectionToken>
													<sp:AlgorithmSuite>
														<wsp:Policy>
															<sp:Basic128Rsa15/>
														</wsp:Policy>
													</sp:AlgorithmSuite>
													<sp:Layout>
														<wsp:Policy>
															<sp:Strict/>
														</wsp:Policy>
													</sp:Layout>
													<sp:IncludeTimestamp/>
													<sp:EncryptSignature/>
													<sp:OnlySignEntireHeadersAndBody/>
												</wsp:Policy>
											</sp:SymmetricBinding>
											<sp:EndorsingSupportingTokens>
												<wsp:Policy>
													<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
														<wsp:Policy>
															<sp:RequireThumbprintReference/>
															<sp:WssX509V3Token10/>
														</wsp:Policy>
													</sp:X509Token>
												</wsp:Policy>
											</sp:EndorsingSupportingTokens>
											<sp:Wss11>
												<wsp:Policy>
													<sp:MustSupportRefKeyIdentifier/>
													<sp:MustSupportRefIssuerSerial/>
													<sp:MustSupportRefThumbprint/>
													<sp:MustSupportRefEncryptedKey/>
													<sp:RequireSignatureConfirmation/>
												</wsp:Policy>
											</sp:Wss11>
											<sp:Trust10>
												<wsp:Policy>
													<sp:MustSupportIssuedTokens/>
													<sp:RequireClientEntropy/>
													<sp:RequireServerEntropy/>
												</wsp:Policy>
											</sp:Trust10>
										</wsp:Policy>
									</sp:BootstrapPolicy>
								</wsp:Policy>
							</sp:SecureConversationToken>
						</wsp:Policy>
					</sp:ProtectionToken>
					<sp:AlgorithmSuite>
						<wsp:Policy>
							<sp:Basic128Rsa15/>
						</wsp:Policy>
					</sp:AlgorithmSuite>
					<sp:Layout>
						<wsp:Policy>
							<sp:Strict/>
						</wsp:Policy>
					</sp:Layout>
					<sp:IncludeTimestamp/>
					<sp:EncryptSignature/>
					<sp:OnlySignEntireHeadersAndBody/>
				</wsp:Policy>
			</sp:SymmetricBinding>
			<sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
				<wsp:Policy>
					<sp:MustSupportRefKeyIdentifier/>
					<sp:MustSupportRefIssuerSerial/>
					<sp:MustSupportRefThumbprint/>
					<sp:MustSupportRefEncryptedKey/>
				</wsp:Policy>
			</sp:Wss11>
			<sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
				<wsp:Policy>
					<sp:MustSupportIssuedTokens/>
					<sp:RequireClientEntropy/>
					<sp:RequireServerEntropy/>
				</wsp:Policy>
			</sp:Trust10>
			<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>org.apache.sandesha2.interop.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">interop/conf/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">interop/conf/store.jks</ramp:property>
						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
					</ramp:crypto>
				</ramp:encryptionCypto>
				
				<ramp:tokenIssuerPolicy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
					<wsp:Policy>
						<sp:EncryptedParts>
							<sp:Body/>
						</sp:EncryptedParts>
						<sp:SymmetricBinding>
							<wsp:Policy>
								<sp:ProtectionToken>
									<wsp:Policy>
										<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
											<wsp:Policy>
												<sp:RequireDerivedKeys/>
												<sp:RequireThumbprintReference/>
												<sp:WssX509V3Token10/>
											</wsp:Policy>
										</sp:X509Token>
									</wsp:Policy>
								</sp:ProtectionToken>
								<sp:AlgorithmSuite>
									<wsp:Policy>
										<sp:Basic128Rsa15/>
									</wsp:Policy>
								</sp:AlgorithmSuite>
								<sp:Layout>
									<wsp:Policy>
										<sp:Strict/>
									</wsp:Policy>
								</sp:Layout>
								<sp:IncludeTimestamp/>
								<sp:EncryptSignature/>
								<sp:OnlySignEntireHeadersAndBody/>
							</wsp:Policy>
						</sp:SymmetricBinding>
						<sp:EndorsingSupportingTokens>
							<wsp:Policy>
								<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
									<wsp:Policy>
										<sp:RequireThumbprintReference/>
										<sp:WssX509V3Token10/>
									</wsp:Policy>
								</sp:X509Token>
							</wsp:Policy>
						</sp:EndorsingSupportingTokens>
						<sp:Wss11>
							<wsp:Policy>
								<sp:MustSupportRefKeyIdentifier/>
								<sp:MustSupportRefIssuerSerial/>
								<sp:MustSupportRefThumbprint/>
								<sp:MustSupportRefEncryptedKey/>
								<sp:RequireSignatureConfirmation/>
							</wsp:Policy>
						</sp:Wss11>
						<sp:Trust10>
							<wsp:Policy>
								<sp:MustSupportIssuedTokens/>
								<sp:RequireClientEntropy/>
								<sp:RequireServerEntropy/>
							</wsp:Policy>
						</sp:Trust10>
					</wsp:Policy>
				</ramp:tokenIssuerPolicy>
				
			</ramp:RampartConfig>
		</wsp:All>
	</wsp:ExactlyOne>
	</wsp:Policy>

	
    <parameter name="sct-issuer-config">
		<sct-issuer-config>
			<cryptoProperties>
               <crypto provider="org.apache.ws.security.components.crypto.Merlin">
                    <property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</property>
                    <property name="org.apache.ws.security.crypto.merlin.file">interop/conf/store.jks</property>
                    <property name="org.apache.ws.security.crypto.merlin.keystore.password">password</property>
                </crypto>
			</cryptoProperties>
			<addRequestedAttachedRef />
			<addRequestedUnattachedRef />

            <!--
               Key computation mechanism
               1 - Use Request Entropy
               2 - Provide Entropy
               3 - Use Own Key
            -->
            <keyComputation>2</keyComputation>

            <!--
               proofKeyType element is valid only if the keyComputation is set to 3
               i.e. Use Own Key

               Valid values are: EncryptedKey & BinarySecret
            -->
            <proofKeyType>BinarySecret</proofKeyType>
        </sct-issuer-config>
    </parameter>
	
	<parameter name="token-canceler-config">
		<token-canceler-config>
			<!--<proofToken>EncryptedKey</proofToken>-->
			<!--<cryptoProperties>sctIssuer.properties</cryptoProperties>-->
			<!--<addRequestedAttachedRef />-->
		</token-canceler-config>
    </parameter>

</axisconfig>
