<?xml version="1.0" encoding="UTF-8"?> 
<!-- 

FILE INFORMATION
   WSDL for the request (REQ) on the PEM-1 interface of the PEEM1.0 Enabler 
   Version: 1.0 (1.0)
   Date: 24 Jul 2012

OMA Permanent Document
   File: OMA-SUP-WSDL_PEM_1_REQ-V1_0-20120724-A
   Type: wsdl

Public Reachable Information
   Path: http://www.openmobilealliance.org/tech/wsdl
   Name: PEM_1_REQ-v1_0.wsdl

NORMATIVE INFORMATION

  Information about this file can be found in the latest revision of

    OMA-TS-PEEM_PEM1-V1_0

  This is available at http://www.openmobilealliance.org/

  Send comments to technical-comments@mail.openmobilealliance.org

CHANGE HISTORY

24072012 Status changed to Approved by TP (Ref TP Doc# OMA-TP-2012-0278-INP_PEEM_V1_0_for_Final_Approval)

LEGAL DISCLAIMER

Use of this document is subject to all of the terms and conditions
of the Use Agreement located at
http://www.openmobilealliance.org/UseAgreement.html,
provided, however, that section (d) under "Documents - Terms 
of Use" which states, "no modifications are made to such 
Documents" does not apply to your use.

The Open Mobile Alliance authorizes you to copy this document, 
provided that you retain all copyright and other proprietary  
notices contained in the original materials on any copies of the 
materials and  that you comply strictly with these terms. This 
copyright permission does not constitute an endorsement of the 
products or services. The Open Mobile Alliance assumes no 
responsibility for errors or omissions in this document.

Each Open Mobile Alliance member has agreed to use reasonable
endeavors to inform the Open Mobile Alliance in a timely manner of
Essential IPR as it becomes aware that the Essential IPR is related 
to the prepared or published specification.  However, the members
do not have an obligation to conduct IPR searches.  The declared
Essential IPR is publicly available to members and non-members of
the Open Mobile Alliance and may be found on the "OMA IPR
Declarations" list at http://www.openmobilealliance.org/ipr.html.
The Open Mobile Alliance has not conducted an independent IPR review
of this document and the information contained herein, and makes no
representations or warranties regarding third party IPR, including
without limitation patents, copyrights or trade secret rights.  This
document may contain inventions for which you must obtain licenses
from third parties before making, using or selling the inventions.
Defined terms above are set forth in the schedule to the Open Mobile
Alliance Application Form which may be found on the Open Mobile 
Alliance Web site.

NO REPRESENTATIONS OR WARRANTIES (WHETHER EXPRESS OR IMPLIED) ARE
MADE BY THE OPEN MOBILE ALLIANCE OR ANY OPEN MOBILE ALLIANCE MEMBER
OR ITS AFFILIATES REGARDING ANY OF THE IPR'S REPRESENTED ON THE "OMA
IPR DECLARATIONS" LIST, INCLUDING, BUT NOT LIMITED TO THE ACCURACY,
COMPLETENESS, VALIDITY OR RELEVANCE OF THE INFORMATION OR WHETHER OR
NOT SUCH RIGHTS ARE ESSENTIAL OR NON-ESSENTIAL.

YOUR USE OF THE DOCUMENTS AND THE INFORMATION CONTAINED IN THE 
DOCUMENTS IS AT YOUR SOLE RISK. THE DOCUMENTS ARE PROVIDED ON AN 
'AS IS', 'AS AVAILABLE' AND 'WITH ALL FAULTS' BASIS. THE OPEN MOBILE
ALLIANCE IS NOT LIABLE FOR AND HEREBY DISCLAIMS ANY DIRECT,
INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR EXEMPLARY
DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE
DOCUMENTS AND THE INFORMATION CONTAINED IN THE DOCUMENTS.

Copyright 2012 Open Mobile Alliance Ltd.  All Rights Reserved.
Used with the permission of the Open Mobile Alliance Ltd. under the
terms set forth above.
 -->

<wsdl:definitions name="PEM1_service" 
	targetNamespace="http://www.openmobilealliance.org/schema/PEM1/v1_0" 
	xmlns:tns="http://www.openmobilealliance.org/schema/PEM1/v1_0" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:callable_policy="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/service" 
	xmlns:callable_policy_xsd="http://www.openmobilealliance.org/schema/PEM1/v1_0" 
	xmlns:callable_common_faults="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/faults" 
	xmlns:callable_policy_local_xsd="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/local.xsd">
        
        <wsdl:import namespace="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/faults" 
        location="http://www.openmobilealliance.org/tech/wsdl/PEM_1_faults-v1_0.wsdl"/>

        <wsdl:types>
            <schema elementFormDefault="qualified" 
            targetNamespace="http://www.openmobilealliance.org/wsdl/PEM1/v1_0/local.xsd"
            xmlns="http://www.w3.org/2001/XMLSchema">
            
            <element name="evaluatePolicyRequest_type" >
                    <complexType>
                        <sequence>
                            <element name="callbackUrl" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
                            <element name="timeStamp" type="xsd:dateTime" />                           
                            <!--
                                    policyData contains an xml based document containing the additional policy data
                                    e.g. variables and their values. 
                            -->
                            <element name="policyData" type="xsd:anyType" minOccurs="0" maxOccurs="1"/>
                        </sequence>
                    </complexType>
                    </element>

            <element name="evaluatePolicyResponse_type">
                    <complexType>  
                        <sequence>
                        
							<element name="correlator" type="xsd:string" minOccurs="0" maxOccurs="1"/>                           
                            <!-- 
                                StatusCode contains the result of the request, e.g. the following
                                standard PEEM status codes.
                                
                                2101 = ALLOW decision
                                2102 = ALLOW 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
                                
                               	In case of Denial of a synchronous request the 
                                denyPolicyResponseException is returned. In case of
                                any other Status code different exceptions are returned.
                            -->
                            <element name="statusCode" type="xsd:unsignedShort" minOccurs="0" maxOccurs="1"/>
                            <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. 
                            -->
                            <element name="policyData" type="xsd:anyType" minOccurs="0" maxOccurs="1"/>                           
                        </sequence>
                    </complexType>
                    </element>
            </schema>
        </wsdl:types>

        <wsdl:message name="evaluatePolicyRequest">
            <wsdl:part name="parameters" element="callable_policy_local_xsd:evaluatePolicyRequest_type" /> 
        </wsdl:message>
    
        <wsdl:message name="evaluatePolicyResponse">
            <wsdl:part name="result" element="callable_policy_local_xsd:evaluatePolicyResponse_type" /> 
        </wsdl:message>

        <wsdl:portType name="evaluatePolicyPortType">
            <wsdl:operation name="evaluatePolicy">
                    <wsdl:input name="evaluatePolicyRequest" message="tns:evaluatePolicyRequest" /> 
                    <wsdl:output name="evaluatePolicyResponse" message="tns:evaluatePolicyResponse" />
                    <wsdl:fault name="informationalException" message="callable_common_faults:informationalException"/> 
                    <wsdl:fault name="protocolErrorException" message="callable_common_faults:protocolErrorException"/> 
                    <wsdl:fault name="transientErrorException" message="callable_common_faults:transientErrorException"/> 
                    <wsdl:fault name="permanentErrorException" message="callable_common_faults:permanentErrorException"/> 
                    <wsdl:fault name="denyPolicyResponseException" message="callable_common_faults:denyPolicyResponseException"/> 
            </wsdl:operation>
        </wsdl:portType>
        

        <wsdl:binding name="evaluateBinding" type="tns:evaluatePolicyPortType">
 			<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
                <wsdl:operation name="evaluatePolicy" >
                    <soap:operation soapAction="" />
                    <wsdl:input>
                        <soap:body use="literal"/>
                    </wsdl:input>
                    <wsdl:output>
                        <soap:body use="literal"/>
                    </wsdl:output>      
                    
                    <!-- 
                                
                    <wsdl:fault name="denyPolicyResponseException">
                    	<soap:fault name="denyPolicyResponseException" use="literal"/>
                    </wsdl:fault>                  
                    <wsdl:fault name="informationalException">
                    	<soap:fault name="informationalException" use="literal"/>
                    </wsdl:fault>
                    <wsdl:fault name="protocolErrorException">
                    	<soap:fault name="protocolErrorException" use="literal"/>
                     </wsdl:fault>
                    <wsdl:fault name="transientErrorException">
                    	<soap:fault name="transientErrorException" use="literal"/>
                    </wsdl:fault>
                    <wsdl:fault name="permanentErrorException">
                    	<soap:fault name="permanentErrorException" use="literal"/>
                    </wsdl:fault>    
                    
                    -->
                                  
                </wsdl:operation>
        </wsdl:binding>
</wsdl:definitions>