如何区分SOAP与REST请求?

时间:2018-03-13 18:48:59

标签: xml rest soap restful-architecture

假设我有一个XML,它是对服务的请求。 如何判断它是RESTful服务还是SOAP服务请求?

仅根据请求内容可以找到哪些可区分的特征?

1 个答案:

答案 0 :(得分:1)

以下是SOAP请求的示例,这是在http://www.webservicex.net/New/Home/ServiceDetail/56上按国家/地区API调用获取城市的示例:

POST /globalweather.asmx HTTP/1.1
Host: www.webservicex.net
User-Agent: curl/7.45.0
Accept: */*
Content-Type: text/xml
Content-Length: 442

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:tns="http://www.webserviceX.NET">
    <soap:Body>
        <GetCitiesByCountry xmlns="http://www.webserviceX.NET">
            <CountryName>France</CountryName>
        </GetCitiesByCountry>
    </soap:Body>
</soap:Envelope>

您可以看到XML主体的显着特征。

对通用服务的REST调用可以包含API定义的任何XML数据。

这可能如下所示:

POST /getaddress HTTP/1.1
Host: localhost:3000
User-Agent: curl/7.45.0
Accept: */*
Content-Length: 85
Content-Type: text/xml

<location>
    <latitude>34.067225</latitude>
    <longitude>-118.474307</longitude>
</location>