locked
Interment problem invoking a web service endpoint RRS feed

  • Question

  • Thanks to your help here, I have a web service endpoint up and running.  When I call it with an individual record, it returns as expected.  However, when I send 30 requests in serial, I am getting this kind of error code

    {StatusCode: 503, ReasonPhrase: 'Service Unavailable;System has encountered an error, when reporting this issue, please mention request ID 38708a95-d763-4f30-afc5-17dc3f0333c7',

    Here is the request

            member this.CalculateRiskScores(deploymentRecords: IEnumerable<DeploymentRecord>) =

                let totalRecords = deploymentRecords |> Seq.length

                deploymentRecords

                    |> Seq.mapi(fun acc dr -> (invokeService(acc, totalRecords, dr)))

                    |> Async.Parallel

                    |> Async.RunSynchronously

    It seems to happen after 5 records are part of the set.  Do I need to do some kind of client-side throttling?

    Wednesday, September 24, 2014 12:24 PM

Answers

  • I'm seeing a ton of "Column names must match the schema" and "Table column count must match the schema column count" errors - could you please verify that your request schema matches that of your service?

    If that still doesn't work, let's take this up in the same email thread and I'll pull in an SME as we're nearing the limits of what I can debug :)

    Regards,

    AK

    • Marked as answer by Jamie.DixonMVP Tuesday, September 30, 2014 12:05 PM
    Wednesday, September 24, 2014 4:22 PM

All replies

  • Hi Jamie,

    Have you marked your web service as Ready For Production? Test services are throttled, and there is also some practical upper limit for production web services, though it is much higher. If you can give me a paired request ID GUID + timestamp (and timezone) I can search our logs for the exact cause.

    Also just taking a wild guess based on your function naming - does this problem have a low latency requirement? You may want to look at the Batch Execution Service (BES) rather than the Request Response Service (RRS), and do them all in one shot

    Regards,

    AK

    Wednesday, September 24, 2014 3:26 PM
  • I did not mark it as "Ready For Production".  I will do that now.  Thanks

    Wednesday, September 24, 2014 4:08 PM
  • Once I mark it "ready for Production" and save it, is there anything else I have to do?  I am still getting the same error condition
    Wednesday, September 24, 2014 4:13 PM
  • I'm seeing a ton of "Column names must match the schema" and "Table column count must match the schema column count" errors - could you please verify that your request schema matches that of your service?

    If that still doesn't work, let's take this up in the same email thread and I'll pull in an SME as we're nearing the limits of what I can debug :)

    Regards,

    AK

    • Marked as answer by Jamie.DixonMVP Tuesday, September 30, 2014 12:05 PM
    Wednesday, September 24, 2014 4:22 PM
  • Turns out the way I was invoking it from F# was the problem.  Seq.Map causes the exception to be thrown.  When I used a Do...Loop, it works fine.

     

    Tuesday, September 30, 2014 12:05 PM