<?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.
-->
<node xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903"
    xmlns="http://tuscany.apache.org/xmlns/sca/1.1"
    xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
    uri="http://sample/nodes/TestNode1"
    domain="http://domain1"
    domainRegistry="tribes:default">

    <!-- Configure the base URIs for a given binding -->
    <!-- Each base URI is for a protocol supported by the binding -->
    <binding name="sca:binding.sca" baseURIs="http://localhost:8081/sca https://localhost:8081/sca"/>
    <binding name="sca:binding.ws" baseURIs="http://localhost:8082/ws https://localhost:8082/ws"/>

    <!-- Configure a list of contributions -->
    <contribution uri="iface" location="../helloworld-iface/target/itest-nodes-helloworld-iface-2.5-SNAPSHOT.jar"/>
    <contribution uri="client" location="../helloworld-service-a/target/itest-nodes-helloworld-service-a-2.5-SNAPSHOT.jar">
        <!-- doesn't pick up the deployable composite properly without this?-->
        <deploymentComposite location="service-a.composite"/>
    </contribution>

</node>