Starting of plan optimization fails
Posted: Tue Mar 05, 2024 9:19 am
				
				Dear community,
I was about to use the Routing API of PTV Developer in Visual Studio C#. Steps are:
After creation of the plan, the plan got an id like this "c243f8dd-fa43-417b-94ef-aba566d7d199".
Now I would like to start the optimization process with the following function:
RouteOptimizationClient is specified by the Routing API Specification file (https://api.myptv.com/meta/services/rou ... enapi.json).
planId would be "c243f8dd-fa43-417b-94ef-aba566d7d199" in this case.
In the request, the task will instantly be cancelled (at this line):
with message "Eine Aufgabe wurde abgebrochen." (ENG: A task was cancelled)
Do you have any clue why this happens?
I also tried to post the ID of the created plan at the API code sample website (https://developer.myptv.com/en/document ... imise-plan) and get the following error:
I guessed that the created plan would be available on the PTV server. Is that not the case?
Thank you in advance,
Tobias Zylka
			I was about to use the Routing API of PTV Developer in Visual Studio C#. Steps are:
- Create a Plan
- Optimize the Plan
- Get Status
- Get completed Plan
Code: Select all
{"id":"00000000-0000-0000-0000-000000000000","description":"Test Route Trip","locations":[{"id":"Start","type":"DEPOT","latitude":50.73117,"longitude":7.10052,"includeLastMeters":true,"matchSideOfStreet":false,"applyVehicleDependentServiceTimeFactor":true,"openingIntervals":[{"start":"2024-03-06T08:00:00+01:00","end":"2024-03-06T20:00:00+01:00"}]},{"id":"Location 1","type":"CUSTOMER","latitude":51.5159395432446,"longitude":9.27642819335112,"includeLastMeters":true,"matchSideOfStreet":false,"applyVehicleDependentServiceTimeFactor":true,"openingIntervals":[{"start":"2024-03-06T08:00:00+01:00","end":"2024-03-06T20:00:00+01:00"}]},{"id":"Location 2","type":"CUSTOMER","latitude":51.670419413097285,"longitude":10.230704532272371,"includeLastMeters":true,"matchSideOfStreet":false,"applyVehicleDependentServiceTimeFactor":true,"openingIntervals":[{"start":"2024-03-06T08:00:00+01:00","end":"2024-03-06T20:00:00+01:00"}]},{"id":"Location 3","type":"CUSTOMER","latitude":52.729127711123866,"longitude":8.8410603595343034,"includeLastMeters":true,"matchSideOfStreet":false,"applyVehicleDependentServiceTimeFactor":true,"openingIntervals":[{"start":"2024-03-06T08:00:00+01:00","end":"2024-03-06T20:00:00+01:00"}]},{"id":"Location 4","type":"CUSTOMER","latitude":52.786041492721942,"longitude":8.2988423970259717,"includeLastMeters":true,"matchSideOfStreet":false,"applyVehicleDependentServiceTimeFactor":true,"openingIntervals":[{"start":"2024-03-06T08:00:00+01:00","end":"2024-03-06T20:00:00+01:00"}]},{"id":"Location 5","type":"CUSTOMER","latitude":52.897727122550926,"longitude":10.521510108222701,"includeLastMeters":true,"matchSideOfStreet":false,"applyVehicleDependentServiceTimeFactor":true,"openingIntervals":[{"start":"2024-03-06T08:00:00+01:00","end":"2024-03-06T20:00:00+01:00"}]},{"id":"Destination","type":"CUSTOMER","latitude":53.54897,"longitude":9.99337,"includeLastMeters":true,"matchSideOfStreet":false,"applyVehicleDependentServiceTimeFactor":true,"openingIntervals":[{"start":"2024-03-06T08:00:00+01:00","end":"2024-03-06T20:00:00+01:00"}]}],"vehicles":[{"id":"Vehicle 1","capacitiesChangePosition":"BETWEEN_TRIPS","profile":"EUR_TRAILER_TRUCK","startLocationId":"Start","endLocationId":"Start","serviceTimePerTransportStop":0,"serviceTimeFactor":1.0,"ignoreMixedLoadingProhibitions":false}],"transports":[{"id":"Transport to Location 1","pickupLocationId":"Start","pickupServiceTime":0,"deliveryLocationId":"Location 1","deliveryServiceTime":0},{"id":"Transport to Location 2","pickupLocationId":"Start","pickupServiceTime":0,"deliveryLocationId":"Location 2","deliveryServiceTime":0},{"id":"Transport to Location 3","pickupLocationId":"Start","pickupServiceTime":0,"deliveryLocationId":"Location 3","deliveryServiceTime":0},{"id":"Transport to Location 4","pickupLocationId":"Start","pickupServiceTime":0,"deliveryLocationId":"Location 4","deliveryServiceTime":0},{"id":"Transport to Location 5","pickupLocationId":"Start","pickupServiceTime":0,"deliveryLocationId":"Location 5","deliveryServiceTime":0},{"id":"Transport to Destination","pickupLocationId":"Start","pickupServiceTime":0,"deliveryLocationId":"Destination","deliveryServiceTime":0}],"planningHorizon":{"start":"2024-03-06T08:00:00+01:00","end":"2024-03-06T20:00:00+01:00"}}Now I would like to start the optimization process with the following function:
Code: Select all
public void StartOptimizationAsync(string apiKey, Guid planId)
{
    using (var client = new HttpClient { BaseAddress = new Uri("https://api.myptv.com/routeoptimization/v1/")})
    {
        // Add apiKey to Header
        client.DefaultRequestHeaders.Add("apiKey", apiKey);
        RouteOptimizationClient routeOptimizationClient = new RouteOptimizationClient(client);
        routeOptimizationClient.StartOptimizationAsync(planId, OptimizationQuality.STANDARD, null, null, null);
    }
}planId would be "c243f8dd-fa43-417b-94ef-aba566d7d199" in this case.
In the request, the task will instantly be cancelled (at this line):
Code: Select all
var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);Code: Select all
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at FormsMapCS.RouteOpt.RouteOptimizationClient.<StartOptimizationAsync>d__20.MoveNext()I also tried to post the ID of the created plan at the API code sample website (https://developer.myptv.com/en/document ... imise-plan) and get the following error:
Code: Select all
{
  "traceId": "9a61b152a96c475ca38752adffbc4cf7",
  "errorId": "15f342b9-6276-49cf-8738-3ad48dfaab12",
  "description": "A requested resource does not exist.",
  "errorCode": "GENERAL_RESOURCE_NOT_FOUND",
  "causes": [
    {
      "description": "The ID does not exist.",
      "errorCode": "GENERAL_INVALID_ID",
      "parameter": "id",
      "details": {
        "value": "c243f8dd-fa43-417b-94ef-aba566d7d199"
      }
    }
  ]
}Thank you in advance,
Tobias Zylka

 The user context of the codesample is not equal to the one you used to create the plan...
  The user context of the codesample is not equal to the one you used to create the plan...