2016-05-12 4 views
0

Мне было интересно, как использовать XML-сервис, который гласит: «OTA-сервер CarTrawler не предоставляет интерфейс веб-служб - то есть WSDL, недоступный для SOAP. поддерживается между вызовами ».C# Потребление XML API - Нет REST

У службы есть целевые 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, и я предполагаю, что услуга не ОТДОХНУТЬ.

+0

Если это HTTP, это REST. Даже SOAP через HTTP - это REST. И да HTTPClient будет работать, если это HTTP-служба. –

+0

WSDL не является строго необходимым; см. здесь [здесь] (http://www.codeproject.com/Tips/823209/Consuming-SAP-PI-Web-Service-without-WSDL) –

ответ

0

Это не проблема. WSDL - это всего лишь метаданные, которые помогут вам разобраться в данных, которые вы должны отправлять или получать. Это не означает, что служба не RESTful.

Существует множество инструментов, которые можно использовать для вызова службы RESTful. Это мой REST клиент:

NuGet: Install-Package RESTClient.NET

Вы должны стараться просто делать простой GET в виде строки и посмотреть, что получает возвращается. Если вы разместите URL-адрес API, я попробую его.

Смежные вопросы