<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
/*
 * Copyright 2001-2008 The Apache Software Foundation.
 * 
 * Licensed 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.
 *
 -->
<uddi xmlns="urn:juddi-apache-org:v3_client" xsi:schemaLocation="uddi-client classpath:xsd/uddi-client.xsd"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
        <reloadDelay>5000</reloadDelay>
        <client name="example-client">
                <nodes>
                        <node>
                                <!-- required 'default' node -->
                                <name>default</name> 
                                <properties>
                                        <property name="serverName" value="localhost"/>
                                        <property name="serverPort" value="8080"/>
                                        <!-- for UDDI nodes that use HTTP u/p, using the following 
                                        <property name="basicAuthUsername" value="root" />
                                        <property name="basicAuthPassword" value="password" />
                                        <property name="basicAuthPasswordIsEncrypted" value="false" />
                                        <property name="basicAuthPasswordCryptoProvider" value="org.apache.juddi.v3.client.crypto.AES128Cryptor (an example)" />-->
                                </properties>
                                <description>Main jUDDI node</description>
                                <!-- JAX-WS Transport -->
                                <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                                <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer</custodyTransferUrl>
                                <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry</inquiryUrl>
                                <inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
                                <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish</publishUrl>
                                <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security</securityUrl>
                                <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription</subscriptionUrl>
                                <subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener</subscriptionListenerUrl>
                                <juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api</juddiApiUrl>
                        </node>
                </nodes>
                <clerks>
                        <clerk node="default" name="defaultClerk" password="" publisher="username"></clerk>
                        
                </clerks>
        </client>
</uddi>
