외부 XSD 파일을 참조하는 WSDL에서 SOAP 메시지 만들기

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 20분
  • WSDL 및 외부 XSD 파일에서 SOAP 메시지를 작성합니다.

    시작하기 전에

    필요한 역할: web_service_admin

    이 태스크 정보

    이 작업에는 일기 예보 SOAP 메시지에 대한 예제 WSDL 및 XSD 파일이 포함되어 있습니다. WSDL 및 XSD 파일은 다를 수 있습니다.

    프로시저

    1. 다음으로 이동 모두 > 시스템 웹 서비스 > SOAP 메시지 을 클릭하고 새 기록을 생성합니다.
    2. WSDL 다운로드 확인란의 선택을 취소합니다.
    3. WSDL의 컨텐츠를 WSDL XML 필드에 붙여넣습니다.
    4. 레코드를 저장합니다.
    5. SOAP 메시지 임포트 관련 목록에서 새로 만들기를 클릭합니다.
    6. XSD 파일의 내용을 외부 문서 필드에 붙여 넣습니다.
    7. 스키마 위치 필드를 db://<참조된 XSD 파일의 이름>.xsd로 설정합니다.
      스키마 위치를 지정하면 인스턴스가 참조된 XSD 파일의 위치를 알 수 있습니다.
    8. 제출을 클릭합니다.
    9. 샘플 SOAP 메시지 생성을 클릭합니다.

    예제 WSDL 및 XSD 파일

    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webservicex.net" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webservicex.net" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get one week weather forecast for valid zip code or Place name in USA</wsdl:documentation>
      <wsdl:types>
        <s:schema elementFormDefault="qualified" targetNamespace="http://www.webservicex.net">
           <s:include schemaLocation="WeatherForecast.xsd" />
        </s:schema>
      </wsdl:types>
      <wsdl:message name="GetWeatherByZipCodeSoapIn">
        <wsdl:part name="parameters" element="tns:GetWeatherByZipCode" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByZipCodeSoapOut">
        <wsdl:part name="parameters" element="tns:GetWeatherByZipCodeResponse" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByPlaceNameSoapIn">
        <wsdl:part name="parameters" element="tns:GetWeatherByPlaceName" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByPlaceNameSoapOut">
        <wsdl:part name="parameters" element="tns:GetWeatherByPlaceNameResponse" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByZipCodeHttpGetIn">
        <wsdl:part name="ZipCode" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByZipCodeHttpGetOut">
        <wsdl:part name="Body" element="tns:WeatherForecasts" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByPlaceNameHttpGetIn">
        <wsdl:part name="PlaceName" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByPlaceNameHttpGetOut">
        <wsdl:part name="Body" element="tns:WeatherForecasts" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByZipCodeHttpPostIn">
        <wsdl:part name="ZipCode" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByZipCodeHttpPostOut">
        <wsdl:part name="Body" element="tns:WeatherForecasts" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByPlaceNameHttpPostIn">
        <wsdl:part name="PlaceName" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetWeatherByPlaceNameHttpPostOut">
        <wsdl:part name="Body" element="tns:WeatherForecasts" />
      </wsdl:message>
      <wsdl:portType name="WeatherForecastSoap">
        <wsdl:operation name="GetWeatherByZipCode">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get one week weather forecast for a valid Zip Code(USA)</wsdl:documentation>
          <wsdl:input message="tns:GetWeatherByZipCodeSoapIn" />
          <wsdl:output message="tns:GetWeatherByZipCodeSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="GetWeatherByPlaceName">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get one week  weather forecast for a place name(USA)</wsdl:documentation>
          <wsdl:input message="tns:GetWeatherByPlaceNameSoapIn" />
          <wsdl:output message="tns:GetWeatherByPlaceNameSoapOut" />
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:portType name="WeatherForecastHttpGet">
        <wsdl:operation name="GetWeatherByZipCode">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get one week weather forecast for a valid Zip Code(USA)</wsdl:documentation>
          <wsdl:input message="tns:GetWeatherByZipCodeHttpGetIn" />
          <wsdl:output message="tns:GetWeatherByZipCodeHttpGetOut" />
        </wsdl:operation>
        <wsdl:operation name="GetWeatherByPlaceName">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get one week  weather forecast for a place name(USA)</wsdl:documentation>
          <wsdl:input message="tns:GetWeatherByPlaceNameHttpGetIn" />
          <wsdl:output message="tns:GetWeatherByPlaceNameHttpGetOut" />
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:portType name="WeatherForecastHttpPost">
        <wsdl:operation name="GetWeatherByZipCode">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get one week weather forecast for a valid Zip Code(USA)</wsdl:documentation>
          <wsdl:input message="tns:GetWeatherByZipCodeHttpPostIn" />
          <wsdl:output message="tns:GetWeatherByZipCodeHttpPostOut" />
        </wsdl:operation>
        <wsdl:operation name="GetWeatherByPlaceName">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get one week  weather forecast for a place name(USA)</wsdl:documentation>
          <wsdl:input message="tns:GetWeatherByPlaceNameHttpPostIn" />
          <wsdl:output message="tns:GetWeatherByPlaceNameHttpPostOut" />
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="WeatherForecastSoap" type="tns:WeatherForecastSoap">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="GetWeatherByZipCode">
          <soap:operation soapAction="http://www.webservicex.net/GetWeatherByZipCode" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetWeatherByPlaceName">
          <soap:operation soapAction="http://www.webservicex.net/GetWeatherByPlaceName" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:binding name="WeatherForecastSoap12" type="tns:WeatherForecastSoap">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="GetWeatherByZipCode">
          <soap12:operation soapAction="http://www.webservicex.net/GetWeatherByZipCode" style="document" />
          <wsdl:input>
            <soap12:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap12:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetWeatherByPlaceName">
          <soap12:operation soapAction="http://www.webservicex.net/GetWeatherByPlaceName" style="document" />
          <wsdl:input>
            <soap12:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap12:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:binding name="WeatherForecastHttpGet" type="tns:WeatherForecastHttpGet">
        <http:binding verb="GET" />
        <wsdl:operation name="GetWeatherByZipCode">
          <http:operation location="/GetWeatherByZipCode" />
          <wsdl:input>
            <http:urlEncoded />
          </wsdl:input>
          <wsdl:output>
            <mime:mimeXml part="Body" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetWeatherByPlaceName">
          <http:operation location="/GetWeatherByPlaceName" />
          <wsdl:input>
            <http:urlEncoded />
          </wsdl:input>
          <wsdl:output>
            <mime:mimeXml part="Body" />
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:binding name="WeatherForecastHttpPost" type="tns:WeatherForecastHttpPost">
        <http:binding verb="POST" />
        <wsdl:operation name="GetWeatherByZipCode">
          <http:operation location="/GetWeatherByZipCode" />
          <wsdl:input>
            <mime:content type="application/x-www-form-urlencoded" />
          </wsdl:input>
          <wsdl:output>
            <mime:mimeXml part="Body" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetWeatherByPlaceName">
          <http:operation location="/GetWeatherByPlaceName" />
          <wsdl:input>
            <mime:content type="application/x-www-form-urlencoded" />
          </wsdl:input>
          <wsdl:output>
            <mime:mimeXml part="Body" />
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="WeatherForecast">
        <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get one week weather forecast for valid zip code or Place name in USA</wsdl:documentation>
        <wsdl:port name="WeatherForecastSoap" binding="tns:WeatherForecastSoap">
          <soap:address location="http://www.webservicex.net/WeatherForecast.asmx" />
        </wsdl:port>
        <wsdl:port name="WeatherForecastSoap12" binding="tns:WeatherForecastSoap12">
          <soap12:address location="http://www.webservicex.net/WeatherForecast.asmx" />
        </wsdl:port>
        <wsdl:port name="WeatherForecastHttpGet" binding="tns:WeatherForecastHttpGet">
          <http:address location="http://www.webservicex.net/WeatherForecast.asmx" />
        </wsdl:port>
        <wsdl:port name="WeatherForecastHttpPost" binding="tns:WeatherForecastHttpPost">
          <http:address location="http://www.webservicex.net/WeatherForecast.asmx" />
        </wsdl:port>
      </wsdl:service>
    </wsdl:definitions>
    
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.webservicex.net" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.webservicex.net" >
          <s:element name="GetWeatherByZipCode">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetWeatherByZipCodeResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="1" maxOccurs="1" name="GetWeatherByZipCodeResult" type="tns:WeatherForecasts" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:complexType name="WeatherForecasts">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="Latitude" type="s:float" />
              <s:element minOccurs="1" maxOccurs="1" name="Longitude" type="s:float" />
              <s:element minOccurs="1" maxOccurs="1" name="AllocationFactor" type="s:float" />
              <s:element minOccurs="0" maxOccurs="1" name="FipsCode" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="PlaceName" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="StateCode" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="Status" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="Details" type="tns:ArrayOfWeatherData" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfWeatherData">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="WeatherData" type="tns:WeatherData" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="WeatherData">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Day" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="WeatherImage" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="MaxTemperatureF" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="MinTemperatureF" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="MaxTemperatureC" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="MinTemperatureC" type="s:string" />
            </s:sequence>
          </s:complexType>
          <s:element name="GetWeatherByPlaceName">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="PlaceName" type="s:string" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetWeatherByPlaceNameResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="1" maxOccurs="1" name="GetWeatherByPlaceNameResult" type="tns:WeatherForecasts" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="WeatherForecasts" type="tns:WeatherForecasts" />
        </s:schema>