Introdução
Informações sobre os Web Services que o provedor poderá implementar para receber notificações do Portal MPS.
Web Services
|
Web service |
Descrição |
|
Web Service implementado no cliente para receber notificações do Portal MPS relacionadas a eventos do sistema ou eventos de impressoras |
|
|
Web Service implementado no cliente para receber notificações do Portal MPS relacionadas a alterações em pedidos e entregas atribuídas aos Centros de Distribuição e Fornecedores |
Segurança
Para que os dados possam trafegar com segurança, é importante que estes Web Services sejam publicados de forma que possam ser acessados via protocolo seguro (HTTPS).
Enviando uma resposta para o Portal MPS
Todos os métodos que desejar implementar deverão possuir um retorno de uma string em formato XML contendo o resultado da chamada. Abaixo, segue dois exemplos de retorno, sendo um XML com sucesso e outro com falha:
<?xml version="1.0" encoding="utf-8" ?>
<ResultData>
<ResultValue>true</ResultValue>
<ResultError />
</ResultData>
<?xml version="1.0" encoding="utf-8" ?>
<ResultData>
<ResultValue>false</ResultValue>
<ResultError>Server Application Unavailable</ResultError>
</ResultData>
-
ResultValue: resultado da chamada ao Web Service. Se foi obtido sucesso ou falha;
-
ResultError: descrição do tipo de erro ocorrido quando houve falha na operação.
Veja, abaixo, um exemplo simples de como montar o retorno para o MPS em C#:
using System.Xml;
public class ResponseBuilder
{
private string FormatResultData(bool resultValue, string resultError)
{
XmlDocument xmlDoc = new XmlDocument();
XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
XmlElement rootNode = xmlDoc.CreateElement("ResultData");
xmlDoc.InsertBefore(xmlDeclaration, xmlDoc.DocumentElement);
xmlDoc.AppendChild(rootNode);
XmlElement valueNode = xmlDoc.CreateElement("ResultValue");
XmlElement errorNode = xmlDoc.CreateElement("ResultError");
XmlText valueText = xmlDoc.CreateTextNode(resultValue.ToString());
XmlText errorText = xmlDoc.CreateTextNode(resultError);
rootNode.AppendChild(valueNode);
rootNode.AppendChild(errorNode);
valueNode.AppendChild(valueText);
errorNode.AppendChild(errorText);
return xmlDoc.InnerXml;
}
}