<?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.
-->

<endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0"
  xmlns:other="http://www.acme.org/xmlns/other/v1.0.0">
  <endpoint-description>
    <property name="objectClass">
      <array>
        <value>SomeService</value>
      </array>
    </property>
    <property name="osgi.remote.requires.intents">
      <list>
        <value>confidentiality</value>
      </list>
    </property>
    <property name="testKey" value="testValue"/>
    <property name="endpoint.id">http://somewhere:12345</property>
    <property name="service.imported.configs" value="org.apache.cxf.ws"/>
  </endpoint-description>

  <endpoint-description>
    <property name="objectClass">
      <array>
        <value>SomeOtherService</value>
        <value>WithSomeSecondInterface</value>
      </array>
    </property>
    <property name="endpoint.id" value-type="String" value="myScheme://somewhere:12345" />
    <property name="service.imported.configs" value="org.apache.cxf.ws"/>
  </endpoint-description>

  <endpoint-description>
    <property name="objectClass" value-type="String">
      <array>
        <value>SomeOtherService</value>
        <value>WithSomeSecondInterface</value>
      </array>
    </property>
    <property name="endpoint.id" value="http://somewhere" />
    <property name="service.imported.configs" value="org.apache.cxf.ws"/>
  </endpoint-description>

  <endpoint-description>
    <property name="objectClass">
      <array>
        <value>SomeOtherService</value>
        <value>WithSomeSecondInterface</value>
      </array>
    </property>
    <property name="endpoint.id" value-type="String">http://somewhere:1/2/3/4?5</property>
    <property name="service.imported.configs" value="org.apache.cxf.ws"/>
  </endpoint-description>
</endpoint-descriptions>
