Schedule faliure

Fiz a requisição conforme exemplo do link:

Aqui o resource:

{
"message": {
    "id":"ad19adf8-f5ec-4fff-8aeb-2e7ebe9f7a67",
    "to":"{{contact.identity}}",
    "type":"text/plain",
    "content":"Scheduling test."},
"when":"2020-11-27T20:35:00.000Z",
"name":"New Schedule"
}

E retornou este erro:

{"method":"set","status":"failure","reason":{"code":62,"description":"There's no processor available for requested resource type"},"id":"630ed9d0-0230-4cee-9209-34a0dc48bb4b","from":"postmaster@msging.net/#iris-hosted-2","to":"testebot242@msging.net/msging-application-builder-hosting-standard-558fc55949-rtk4q","metadata":{"$destination":"builder.hosting@msging.net/#msging-application-builder-hosting-standard-558fc55949-rtk4q","$destinationResolveAliases":"False","#command.uri":"lime://testebot242@msging.net/schedules","uber-trace-id":"999a2d48ad5f859e%3Afe042e5f3e436936%3Acbd8424d81e71548%3A1","$internalId":"a8a184ca-a6f0-4be4-ac41-21b4cb770aae","$originatorSessionRemoteNode":"postmaster@msging.net/#iris-hosted-2"}}

O que está errado?

Meu erro estava no parâmetro que agora foi ajustado para postmaster@scheduler.msging.net

Mas agora dá um erro no Debuguer

error: "System.Threading.Tasks.TaskCanceledException: A task was canceled.\n   at Lime.Protocol.Network.ChannelCommandProcessor.ProcessCommandAsync(ICommandSenderChannel commandSenderChannel, Command requestCommand, CancellationToken cancellationToken)\n   at Lime.Protocol.Client.OnDemandClientChannel.ProcessCommandAsync(Command requestCommand, CancellationToken cancellationToken)\n   at Takenet.Iris.Client.Hosting.PerformanceEstablishedChannelDecorator.ProcessCommandAsync(Command requestCommand, CancellationToken cancellationToken) in /usr/app/src/Shared/Takenet.Iris.Client/Hosting/PerformanceEstablishedChannelDecorator.cs:line 68\n   at Takenet.Iris.Application.TemplateHosting.Templates.SenderEstablishedChannelAdapter.ProcessCommandAsync(Command requestCommand, CancellationToken cancellationToken) in /usr/app/src/Applications/Takenet.Iris.Application.TemplateHosting/Templates/SenderEstablishedChannelAdapter.cs:line 57\n   at Take.Blip.Builder.Actions.ProcessCommand.ProcessCommandAction.ExecuteAsync(IContext context, JObject settings, CancellationToken cancellationToken)\n   at Takenet.Iris.Application.TemplateHosting.Templates.Builder.MetricsActionDecorator.ExecuteAsync(IContext context, JObject settings, CancellationToken cancellationToken) in /usr/app/src/Applications/Takenet.Iris.Application.TemplateHosting/Templates/Builder/MetricsActionDecorator.cs:line 66\n   at Takenet.Iris.Application.TemplateHosting.Templates.Builder.TracedActionDecorator.ExecuteAsync(IContext context, JObject settings, CancellationToken cancellationToken) in /usr/app/src/Applications/Takenet.Iris.Application.TemplateHosting/Templates/Builder/TracedActionDecorator.cs:line 33\n   at Take.Blip.Builder.FlowManager.ProcessActionsAsync(LazyInput lazyInput, IContext context, Action[] actions, ICollection`1 actionTraces, CancellationToken cancellationToken)"

Olá @ShotDesign. Aparentemente está tudo ok com a requisição, que está demonstrada aqui na Documentação do Blip. Confira se está tudo certinho, por favor.

{  
  "id": "{{$guid}}",
  "to": "postmaster@scheduler.msging.net",
  "method": "set",
  "uri": "/schedules",
  "type": "application/vnd.iris.schedule+json",
  "resource": {  
    "message": {  
      "id": "{{$guid}}",
      "to": "{{$contactIdentity}}",
      "type": "text/plain",
      "content": "{{$content}}"
    },
    "when": "{{$date}}",
    "name": "{{$name}}"
  }
}

Obs.: Se você copiou do fórum, pode ser que algum caractere de " tenha ido incorreto, o que pode estar causando isso.

Consegui!

Eu utilizo o Builder, não SDK.
Então eu copiei apenas o conteúdo de “resource” e coloquei no parâmetro Resource do “Processar Comando”

Este “id”? tem que ser “ad19adf8-f5ec-4fff-8aeb-2e7ebe9f7a67” para que o Iris entenda o comando?

1 Curtida

Que bom que conseguiu!!

O Id pode ser qualquer valor único. Ele precisa mudar a cada requisição, caso contrário dá erro.

1 Curtida

@Bruno estou usando sempre o mesmo id e sempre dá sucesso na requisição.

Porém ele não retorno a mensagem Schedule para o usuário.
Depois que você falou sobre o ID único fiz um teste usando timestamp em milisegundos como ID e está funcionando agora.

Obrigado

2 Curtidas

Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.