<?xml version="1.0" encoding="UTF-8"?> 
<!-- November 21 2007 -->

<definitions name="PEM1_response_service" 
	targetNamespace="http://www.openmobilealliance.org/schema/PEM1/v1_0" 
	xmlns:tns="http://www.openmobilealliance.org/schema/PEM1/v1_0" 
	xmlns="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:callable_policy_response="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/resp_service" 
	xmlns:callable_policy_response_xsd="http://www.openmobilealliance.org/schema/PEM1/v1_0/resp" 
	xmlns:callable_common_faults="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/faults" 
	xmlns:callable_policy_resp_local_xsd="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/resp_local.xsd">
        
        <import namespace="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/faults" location="OMA-SUP-WSDL-PEM_1_faults-V1_0-20071121-D.wsdl" /> 

        <types>
            <xsd:schema elementFormDefault="qualified" targetNamespace="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/resp_local.xsd">


          <xsd:complexType name="policyResultRequest">  
             <xsd:sequence>
				<xsd:element name="correlator" type="xsd:string" />
                        <!-- 
                            Status Code is the verdict, 
                                StatusCode
                                2101 = ALLOW decision
                                2102 = ALLOW decision with additional results
                                
                                2401 = DENY decision
                                2402 = DENY decision with additional results
                                
                                2701 = SUCCESS (Policy processing was successful, but it did not require rendering an ALLOW or DENY)
                                2702 = SUCCESS with additional result
                          -->
                   <xsd:element name="statusCode" type="xsd:unsignedShort" minOccurs="0" maxOccurs="1"/>
                   <xsd:element name="statusText" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
                   
                        <!--
                               policyData contains an xml based document containing the additional policy data
                               e.g. variables and their values. 
                          -->
                   <xsd:element name="policyData" type="xsd:anyType" minOccurs="0" maxOccurs="1"/>
              </xsd:sequence>
          </xsd:complexType>

          <xsd:complexType name="policyResultResponse">  
              <xsd:sequence>
              </xsd:sequence>
          </xsd:complexType>
                    
        </xsd:schema>
     </types>


     <message name="policyResultRequest">
         <part name="parameters" type="callable_policy_resp_local_xsd:policyResultRequest" />     
     </message>

     <message name="policyResultResponse">
         <part name="result" type="callable_policy_resp_local_xsd:policyResultResponse" /> 
     </message>

        
     <portType name="policyResultPortType">
         <operation name="policyResult">
             <input message="tns:policyResultRequest" /> 
             <output message="tns:policyResultResponse" /> 
         </operation>
     </portType>

    

     <binding name="policyResultBinding" type="tns:policyResultPortType">
         <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

             <operation name="policyResult">
    		 <soap:operation soapAction="" style="document" />
                    <input> 
                        <soap:body use="literal"/>
                    </input>

                    <output>
                        <soap:body use="literal"/>
                    </output>
             </operation>        
     </binding>

</definitions>