2016-05-12 34 views
0

我想知道如何使用XML服務,它指出:「CarTrawler的OTA服務器不公開Web服務接口 - 即沒有SOAP可發現的WSDL。所有消息都是無狀態的,沒有會話是保持在通話之間「。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 over 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:安裝,包裝RESTClient.NET

你應該嘗試只是在做一個簡單的GET作爲一個字符串,看看被返回了什麼。如果您發佈API的Url,我會嘗試。