<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
  ~ 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.
  -->

<definitions xmlns:tns="http://context.jaxws.axis2.apache.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"
             targetNamespace="http://context.jaxws.axis2.apache.org/" name="MessageContextService">
    <types>
        <xs:schema xmlns:tns="http://context.jaxws.axis2.apache.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   targetNamespace="http://context.jaxws.axis2.apache.org/" version="1.0">
            <!-- read the value of a property -->
            <xs:element name="isPropertyPresent">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="propertyName" type="xs:string"/>
                        <xs:element name="value" type="xs:string"/>
                        <xs:element name="type" type="xs:string"/>
                        <xs:element name="isFound" type="xs:boolean"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="isPropertyPresentResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="propertyName" type="xs:string"/>
                        <xs:element name="value" type="xs:string"/>
                        <xs:element name="type" type="xs:string"/>
                        <xs:element name="isFound" type="xs:boolean"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
    </types>
    <message name="isPropertyPresent">
        <part name="parameters" element="tns:isPropertyPresent"/>
    </message>
    <message name="isPropertyPresentResponse">
        <part name="parameters" element="tns:isPropertyPresentResponse"/>
    </message>
    <portType name="MessageContext">
        <operation name="isPropertyPresent">
            <input message="tns:isPropertyPresent"/>
            <output message="tns:isPropertyPresentResponse"/>
        </operation>
    </portType>
    <binding name="MessageContextPortBinding" type="tns:MessageContext">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="isPropertyPresent">
            <soap:operation/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>
    <service name="MessageContextService">
        <port name="MessageContextPort" binding="tns:MessageContextPortBinding">
            <soap:address location="http://localhost:6060/axis2/services/MessageContextService"/>
        </port>
    </service>
</definitions>
