<?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.    
-->
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.7-b01-. -->
<definitions targetNamespace="http://helloworld/external" name="HelloWorldServiceService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://helloworld/external" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types>
    <xsd:schema>
      <xsd:import namespace="http://helloworld/external" schemaLocation="HelloWorldServiceService_schema1.xsd"/>
    </xsd:schema>
  </types>
  <message name="getGreetings">
    <part name="parameters" element="tns:getGreetings"/>
  </message>
  <message name="getGreetingsResponse">
    <part name="parameters" element="tns:getGreetingsResponse"/>
  </message>
  <portType name="HelloWorldService">
    <operation name="getGreetings">
      <input message="tns:getGreetings"/>
      <output message="tns:getGreetingsResponse"/>
    </operation>
  </portType>
  <binding name="HelloWorldServicePortBinding" type="tns:HelloWorldService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="getGreetings">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="HelloWorldServiceService">
    <port name="HelloWorldServicePort" binding="tns:HelloWorldServicePortBinding">
      <soap:address location="http://localhost:8086/External/HelloWorld"/>
    </port>
  </service>
</definitions>

