Requisição ao Web Service

<< Clique para Mostrar o Sumário >>

 

Requisição ao Web Service

As requisições HTTP ao Web Service são do tipo POST e devem conter os parâmetros obrigatórios Operation, Entity e Data. O parâmetro Data deve estar no formato XML ou JSON, conforme a especificação a seguir.

 

Estrutura Geral

Exceto para a operação UPDATE TAG, os parâmetros da requisição são encapsulados em um Tag Bloco reservado chamado OperationBlock. Para requisições com a operação UPDATE TAG, o Tag Bloco OperationBlock não é utilizado, pois esta operação é destinada à atualização de Tags PLC ou Tags Bloco específicos. Neste caso, o parâmetro Entity representa a propriedade Item do Tag a ser atualizado e o parâmetro Data deve seguir os formatos descritos a seguir.

 

Para Atualização de Tags PLC

Formato XML:

<TagData>
  <Value>XXX</Value>
  <Quality>XXX</Quality>
  <Time>XXX</Time>
</TagData>

 

Formato JSON:

{
  "Value": "XXX",
  "Quality": XXX,
  "Time": "XXX"
}

 

Para Atualização de Tags Bloco

Formato XML:

<TagData>
  <Values>
    <Value>XXX</Value>
    <Value>XXX</Value>
    <Value>XXX</Value>
  </Values>
  <Quality>XXX</Quality>
  <Time>XXX</Time>
</TagData>

 

NOTA

A seção <Values> pode conter tantos elementos <Value> quantos sejam necessários.

 

Formato JSON:

{
  "Value": ["XXX", "XXX", "XXX"],
  "Quality": XXX,
  "Time": "XXX"
}

 

NOTA

O array Value pode conter tantos valores quantos sejam necessários.

 

Regras para Valores

Value: Os valores enviados são interpretados pela aplicação como Strings, valores inteiros ou de ponto flutuante, conforme o formato mais adequado

Quality: Deve ser um valor inteiro que representa a qualidade do Tag, como por exemplo 192 para qualidade boa

Time: Deve ser uma String no formato ISO 8601, no padrão YYYY-MM-DDTHH:MM:SS, como por exemplo "2025-06-13T17:26:06"

 

Comportamento Específico

Se uma requisição POST para atualização de um Tag Bloco é enviada, mas o parâmetro Entity referencia um Tag PLC na aplicação, apenas o primeiro valor do array ou lista de valores é considerado para a atualização deste Tag Bloco.

 

Exemplo de Requisições Usando o Programa curl

curl -X POST http://localhost:5050/ \
  -H "Content-Type: application/json" \
  -H "Operation: XXX" \
  -H "Entity: XXX" \
  -d "XXX"

 

O valor do cabeçalho Content-Type deve ser ajustado de acordo com o formato dos dados enviados no corpo, ou seja, o parâmetro -d. Use "application/json" se os dados estão no formato JSON e "application/xml" se os dados estão no formato XML.

O retorno da requisição é uma String no formato JSON com o campo Err, um inteiro que representa o código do erro, e o campo ErrMsg, uma String com a descrição do erro.

 

Exemplo de Resposta

{"Err":3,"ErrMsg":"Invalid XML or JSON data"}

Esta página foi útil?