Till senaste kommentaren

Fel vid anrop mot GTFS Sverige 2 från BizTalk

Hej,

Vi får fel när vi anropar https://api.resrobot.se/gtfs/sweden.zip?key=< här anger vi vår key>. När vi kör anropet från Edge går det bra men från BizTalk går det inte. Vi får följande fel:

<Error errorCode="INT_ERR" errorText="internal error" xmlns="hafas_rest_v1"/>

Vi är övertygade om att det är en konfigurationsfråga i BizTalk men vet inte riktigt vad som felar. Kan ni se på er sida vad som saknas i vårt anrop eller ge någon ledtråd om vad som kan vara fel.

Senaste anropet gjordes 17/1 kl .10.13.

Mvh
Fredrik Boström
ICC - Region Dalarna
Fredrik Boström

Kommentarer

  • Hej Frederik,

    Går det att se vilka HTTP-headers som BizTalk skickar i anropet?

    Hälsningar,
    Bert
    Bert på Trafiklab
  • Hej,

    Vid det senaste anropet hade vi följande headers:

    Content-Type: application/octet-stream
    Transfer-Encoding: chunked
    cache-control:max-age=0,no-cache,no-store


    /Fredrik
    Fredrik Boström
  • De där headers verkar vara response headers som kommer tillbaka från Hafas. Kan ni kolla vilka request headers biztalk skickar?

    Jag har själv testat ett anrop mot https://api.resrobot.se/gtfs/sweden.zip?key= med bara en "Host" request header och den funkade, så man kan försöka att strypa bort alla request headers och se om det funkar då. Jag har dock försökt att få API:et att ge felet ni får genom att skicka in ogiltiga headers, men jag får alltid zip-filen tillbaka.

    En orsak skulle kunna vara att URL:en är fel, när jag skickar ett anrop utan nyckel får jag samma fel. Dubbelkolla gärna att det inte finns något mellanslag i nyckel-parametern eller liknande, försök att skriva in URL:en på nytt.

    Hälsningar,
    Bert

    Bert på Trafiklab
  • Jag har provat att rensa request headers och kört helt utan och med en Host-header. Allt ger samma fel. Det går bra att köra via webläsaren på samma server men inte genom BizTalk. BizTalk är ökänt för att vara svårt med just anrop till webtjänster. Om det säger dig något så ser konfigurationen ut så här i BizTalk för anropet:

    URI: https://api.resrobot.se

    Http Method:
    <BtsHttpUrlMapping>
    <Operation Name="GET" Method="GET" Url="/gtfs/sweden.zip?key=vår nyckel" />
    </BtsHttpUrlMapping>

    Outbound HTTP Headers:
    Host: api.resrobot.se

    Man måste dela upp URL:en och placera allt efter hostname i <Operation>-taggen enligt ovan.

    Jag är givetvis tacksam för ytterligare förslag 😀

    /Fredrik

    Fredrik Boström
  • Det enda som jag kan föreslå är att lägga till någon proxy (som Fiddler, Burp, MitmProxy, etc) eller att göra ett testanrop till HttpBin så att ni kan återskapa de anrop som fejlar utanför BizTalk.

    Hälsningar,
    Bert
    Bert på Trafiklab

Kommentera eller skriv ett nytt inlägg

Ditt namn och inlägg kan ses av alla. Din e-post visas aldrig publikt.