C#使用XML API - 无REST

时间:2016-05-12 18:07:26

标签: c# web-services rest wsdl

我想知道如何使用XML服务,该服务声明:" CarTrawler的OTA服务器不公开Web服务接口 - 即没有SOAP可发现的WSDL。所有消息都是无状态的,并且在呼叫之间不会保持会话。"。

该服务定义了目标URL,以便发送请求。

一个可能的请求可能是:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_VehAvailRateRQ
  xmlns="http://www.opentravel.org/OTA/2003/05"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_VehAvailRateRQ.xsd"
  Target="Test" Version="1.005">
    <POS>
        <Source ISOCurrency="EUR">
            <RequestorID Type="16" ID="#####" ID_Context="####" />
        </Source>
    </POS>
    <VehAvailRQCore Status="Available">
        <VehRentalCore PickUpDateTime="2016-04-01T07:00:00" ReturnDateTime="2016-04-09T19:00:00">
            <PickUpLocation CodeContext="####" LocationCode="71" />
            <ReturnLocation CodeContext="####" LocationCode="71" />
        </VehRentalCore>
        <DriverType Age='30'/>
    </VehAvailRQCore>
    <VehAvailRQInfo PassengerQty='3'>
        <Customer>
            <Primary>
                <CitizenCountryName Code='IE' />
            </Primary>
        </Customer>
        <TPA_Extensions>
            <ConsumerIP>999.999.999.999</ConsumerIP>
        </TPA_Extensions>
    </VehAvailRQInfo>
</OTA_VehAvailRateRQ>

也许使用HttpClient?,因为它没有WSDL,我猜这个服务不是REST。

1 个答案:

答案 0 :(得分:0)

这没问题。 WSDL只是元数据,可帮助您确定应发送或接收的数据类型。这并不意味着该服务不是RESTful。

您可以使用许多工具来调用RESTful服务。这是我的REST客户端: https://bitbucket.org/MelbourneDeveloper/restclient-.net

NuGet:安装包RESTClient.NET

您应该尝试将一个简单的GET作为字符串,并查看返回的内容。如果您发布API的Url,我会尝试。