1. 개요

이 기사에서는 Postman을 통해 SOAP 요청을 보낼 것입니다 . 그 전에 국가 SOAP 서비스 에서 API 플랫폼으로 WSDL을 가져옵니다 .

2. 설정

Postman에서 SOAP 요청을 발행하려면 작동하는 SOAP 서비스가 필요합니다. Country SOAP 서비스를 실행한 후 엔드포인트는 http://localhost:8080/ws 에 있고 WSDL은 http://localhost:8080/ws/countries.wsdl 에서 찾을 수 있습니다 .

3. Postman의 SOAP 요청 테스트

Postman으로 엔드포인트를 테스트하는 네 단계가 있습니다.

3.1. SOAP WSDL 가져오기

Postman 8.4.0부터 WSDL을 Postman으로 가져올 수 있습니다 . 우리는 우리 나라의 Postman 컬렉션을 직접 가져올 수 있습니다 . 다음은 WSDL에서 새 컬렉션을 만드는 몇 가지 단계입니다.

먼저 컬렉션을 클릭해 보겠습니다 .

1

다음으로 URL을 제공하여 WSDL을 가져오겠습니다.

2

countries.wsdl WDSL 파일을 사용하여 직접 가져올 수도 있습니다 .

우리의 서비스는 WSDL에서 가져왔습니다. 고급 설정을 건너뛰고 기본값으로 가져옵니다.

삼

가져온 후 모든 SOAP 서비스를 볼 수 있어야 합니다.

3.2

Postman은 각 요청에 대해 올바른 URL, 콘텐츠 유형 및 헤더를 설정했습니다.

3.2. 본문 데이터 추가

다음으로 Spain을 국가 이름 으로 추가 하고 봉투 헤더에 baeldung 네임스페이스 를 추가하여 요청 본문을 사용자 지정하겠습니다 .

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:gs="http://www.baeldung.com/springsoap/gen">
    <soapenv:Header/>
    <soapenv:Body>
        <gs:getCountryRequest>
            <gs:name>Spain</gs:name>
        </gs:getCountryRequest>
    </soapenv:Body>
</soapenv:Envelope>

3.3. 요청 헤더 설정

Postman은 WSDL을 가져옴으로써 이미 적절한 헤더를 설정했습니다. Content -Type은 text/xml 로 설정되어 있으며 요청에 대해 작동합니다. text/xml이 application/xml 보다 선호됩니다 . text/xml 을 명시적으로 지원하지 않는 MIME 사용자 에이전트(및 웹 사용자 에이전트)는 예를 들어 XML MIME 엔터티를 일반 텍스트로 표시하여 이를 text/plain 으로 처리합니다 .

요청에 다른 콘텐츠 유형이 필요한 경우 Postman에서 자동으로 추가한 Content-Type 헤더를 선택 취소할 수 있습니다. 그런 다음 Key 필드  에  Content-Type이 있는 새 행을 추가 하고 Value 필드 에 새 콘텐츠 유형 이름을  추가합니다  .

서비스가 상태 코드 500을 반환하면 " SOAPAction: #POST" 헤더를 추가해야 합니다 .

3.4. SOAP 요청 보내기

마지막으로 보내기 버튼을 눌러 SOAP 서비스를 호출해 보겠습니다. 호출이 성공하면 Postman은 하단 탭에 스페인에 대한 정보가 포함된 응답을 표시합니다.

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
    <ns2:getCountryResponse xmlns:ns2="http://www.baeldung.com/springsoap/gen">
        <ns2:country>
            <ns2:name>Spain</ns2:name>
            <ns2:population>46704314</ns2:population>
            <ns2:capital>Madrid</ns2:capital>
            <ns2:currency>EUR</ns2:currency>
        </ns2:country>
    </ns2:getCountryResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Postman 콘솔의 출력은 다음과 같습니다.

4

4. 결론

이 기사에서는 Postman을 통해 SOAP 요청을 보내는 방법을 배웠습니다. 먼저 WSDL을 Postman으로 가져오는 방법을 살펴보았습니다. 그런 다음 국가 서비스에 요청을 성공적으로 보냈습니다. 항상 그렇듯이 코드는 GitHub에서 사용할 수 있습니다 .

res – REST with Spring (eBook) (everywhere)