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

<definitions targetNamespace="http://serverPartial1.checkexception.webfault.annotations/" name="AddNumbersImplPartial1Service" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://serverPartial1.checkexception.webfault.annotations/" xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <xsd:schema>
      <xsd:import namespace="http://serverPartial1.checkexception.webfault.annotations/" schemaLocation="PartialWSDL1_schema.xsd"/>
    </xsd:schema>
  </types>
  <message name="addTwoNumbers">
    <part name="parameters" element="tns:addTwoNumbers"/>
  </message>
  <message name="addTwoNumbersResponse">
    <part name="parameters" element="tns:addTwoNumbersResponse"/>
  </message>
  <message name="AddNegativeNumbersException">
    <part name="fault" element="tns:AddNegativeNumbersException"/>
  </message>
  <portType name="AddNumbersImplPartial1">
    <operation name="addTwoNumbers">
      <input message="tns:addTwoNumbers"/>
      <output message="tns:addTwoNumbersResponse"/>
      <fault name="AddNegativeNumbersException" message="tns:AddNegativeNumbersException"/>
    </operation>
  </portType>

<!--  Partial WSDL 1: No binding, service, or port information
    <binding name="AddNumbersImplPartial1PortBinding" type="tns:AddNumbersImplPartial1">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="addTwoNumbers">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
      <fault name="AddNegativeNumbersException">
        <soap:fault name="AddNegativeNumbersException" use="literal"/>
      </fault>
    </operation>
  </binding>
  <service name="AddNumbersImplPartial1Service">
    <port name="AddNumbersImplPartial1Port" binding="tns:AddNumbersImplPartial1PortBinding">
      <soap:address location="http://@REPLACE_WITH_HOST_NAME@:@REPLACE_WITH_PORT_NUM@/webfaultchkexc/webfaultchkexcp1"/>
    </port>
  </service>
-->
  
</definitions>

