<?xml version="1.0" encoding="UTF-8"?>
<!--
  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.
-->
<xsd:schema xmlns="http://cxf.apache.org/blueprint/jaxrs-client"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:beans="http://www.osgi.org/xmlns/blueprint/v1.0.0"
  xmlns:cxf-beans="http://cxf.apache.org/configuration/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  targetNamespace="http://cxf.apache.org/blueprint/jaxrs-client"
  xmlns:tns="http://cxf.apache.org/blueprint/jaxrs-client" 
  xmlns:jaxrs-common="http://cxf.apache.org/blueprint/jaxrs"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"  >

  <xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0" schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"/>
  <xsd:import namespace="http://cxf.apache.org/configuration/beans" schemaLocation="http://cxf.apache.org/schemas/configuration/cxf-beans.xsd"/>
  <xsd:import namespace="http://cxf.apache.org/blueprint/jaxrs" schemaLocation="http://cxf.apache.org/schemas/jaxrs-common.xsd"/>
  <xsd:element name="client">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="beans:Tcomponent">
          <xsd:all>
            <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="binding" type="xsd:anyType" minOccurs="0" />
            <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="properties" type="beans:Tmap" minOccurs="0"/>
            <xsd:element name="providers" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="modelBeans" type="xsd:anyType" minOccurs="0"/>
            <xsd:element name="model" type="jaxrs-common:model" minOccurs="0"/>
            <xsd:element name="headers" type="xsd:anyType" minOccurs="0"/> 
            <xsd:element name="schemaLocations" type="jaxrs-common:schemasType" minOccurs="0"/>
          </xsd:all>
          <!-- xsd:attributeGroup ref="cxf-beans:beanAttributes"/-->
          <xsd:attribute name="address" type="xsd:string" />
          <xsd:attribute name="serviceClass" type="xsd:string"/>
          <xsd:attribute name="inheritHeaders" type="xsd:boolean"/>
          <xsd:attribute name="bus" type="xsd:string" />
          <xsd:attribute name="transportId" type="xsd:string"/>
          <xsd:attribute name="bindingId" type="xsd:string" />
          <xsd:attribute name="modelRef" type="xsd:string" />
          <xsd:attribute name="username" type="xsd:string"/>
          <xsd:attribute name="password" type="xsd:string"/>
          <xsd:attribute name="serviceName" type="xsd:QName"/>
          <xsd:attribute name="threadSafe" type="xsd:boolean"/>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
