- Criado por Stella Gleyse Macedo Vilaca, última alteração por Wesley Avelino De Carvalho em 19 mar, 2018
Índice:
Objetivo:
O objetivo deste documento é apresentar a integração com WebService do Totvs Mashups, apresentando todos os métodos disponíveis e classes usadas para a comunicação com o WebService.
Introdução:
O serviço do Totvs Mashups permite a integração de qualquer aplicativo de qualquer sistema operacional e linguagem de programação.
A sua implementação foi feita em cima da WCF (Windows Communication Foundation) utilizando padrão WS-*, XML e SOAP para a comunicação. Mas expansível a outros padrões suportados pela WCF, da plataforma Microsoft.NET.
Neste documento estão detalhados todos os métodos disponíveis e classes usadas para a comunicação com o WebService.
A definição do WebService está disponível em: http://mashups.totvs.com.br/TotvsSOA.Host/SOAManager.svc?wsdl
Métodos Disponíveis no WebService:
GetServiceTypes
Através desta função é possível obter uma lista dos tipos de Mashups disponíveis. Na arquitetura do Totvs Mashups, podem ser criados vários tipos diferentes Mashups, tais como:
- MashupStudioService – Mashups criados com a ferramenta Mashup Studio
- MetadataService – Serviços de informações dos Mashups
- WebServices – Mashups baseados em WebServices
Parâmetros: (SOAConnectionData)
Resultados: Array de strings com a lista de ServiceTypes.
Classe: SOAConnectionData
- ClientID: String – ID do Client do Totvs Mashups
- UserName: String – Nome do usuário do Totvs Mashups
- Password: String – Senha do usuário
GetServiceNames
Através desta função é possível obter uma lista dos Mashups disponíveis para o ServiceType selecionado. Cada ServiceType pode ter vários Mashups publicados.
Parâmetros: (SOAConnectionData; ServiceType: String)
Resultados: Array de strings com a lista de Mashups.
GetServicesInfo
Através desta função é possível obter uma lista com detalhes dos Mashups disponíveis para o SearchType e SearchValue informados. Esta função retorna diversas informações sobre os Mashups que estão definidas na classe SOAServiceInfo.
Parâmetros:
- SOAConnectionData
- SearchType: Enumerado (All, ServiceName, ServiceTitle, Description, Provider, Tag)
- SearchValue: String
Resultados: Array de SOAServiceInfo.
Classe: SOAServiceInfo
- ServiceType: String – Tipo de serviço do Mashup
- ServiceName: String – Nome do Mashup
- ServiceVersion: Integer – Versão do Mashup
- ServiceTitle: String – Título do Mashup
- ServiceProvider: String – Provedor dos dados do Mashup
- ServiceDescription: String – Descrição detalhada do Mashup
- ServiceTags: Strings – Tags relacionadas ao Mashup
- ServiceDate: DateTime – Data da publicação/alteração do Mashup
GetService
Através desta função é iniciado o processo de execução do Mashup, ela retorna todas as informações de execução do Mashup como Parâmetros e Resultados da execução do Mashup.
Parâmetros: (SOAConnectionData; ServiceType: String; ServiceName: String; ServiceVersion: Integer)
Resultados: SOAServiceData.
Classe: SOAServiceData
- ServiceExecutionID: String – ID da execução do Mashup
- ServiceType: String – Tipo de serviço do Mashup
- ServiceName: String – Nome do Mashup
- ServiceVersion: Integer – Versão do Mashup
- ServiceTitle: String – Título do Mashup
- CurrentState: String – Estado da execução do Mashup
- CurrentStateDescription: String – Descrição do estado da execução do Mashup
- Data: Array de SOAData – Dados da execução do Mashup
Classe: SOAData
- DataKind: Enumerado – Tipo do dado do Mashup:
- Param: Indica que o dado é um parâmetro do Mashup
- Info: Indica que o dado é uma informação a ser mostrada do Mashup
- Result: Indica que o dado é um resultado da execução do Mashup
- Internal: Indica que é um dado para uso interno do Mashup
- DataType: Enumero – Indica o tipo de dado do valor
- Boolean: Indica um dado do tipo boolean (True, False);
- Integer: Indica um dado de tipo número inteiro;
- Number: Indica um dado de tipo número (Double), deve ser usado o separador de decimal “.” (Ponto) e sem separador de milhar;
- DateTime: Indica um dado no formato data/hora canônico (aaaa-MM-dd hh:mm:ss), caso o valor indicar somente hora, a data deve ser igual a “01/01/0001”;
- String: Indica um dado do tipo texto;
- List: Indica um dado que contem uma lista de valores/descrições;
- Image: Indica um dado que contem uma imagem (JPEG com Codificação Base64);
- Table: Indica um dado que contem uma tabela de valores detalhada abaixo;
- Name: String – Nome do dado do Mashup
- Description: String – Descrição do dado do Mashup
- StateName: String – Indica o nome do estado referente ao dado (somente para parâmetros)
- Value: String – Contém o valor do dado de acordo com o tipo de dado.
- ListItems: Array de SOADataListItem (válido somente para o DataType = List)
- Columns: Array de SOAData (válido somente para o DataType = Table)
- Required: Boolean – Indica se o parâmetro é obrigatório para a execução do Mashup
- RecaptchaUrl: String – URL base do recaptcha.
- RecaptchaKey: String – Chave da API do recaptcha.
PARA INFORMAÇÕES SOBRE A INTEGRAÇÃO COM O reCAPTCHA, consulte: Integracao com o WebService do Totvs Mashups - Integração com Recaptcha
Classe: SOADataListltem
- Code: String – Código do valor do item da Lista
- Description: String – Descrição do item da Lista
Execute
Através desta função é feita a execução do estado atual do Mashup, após a chamada da função GetService e de preenchido os parâmetros obrigatórios do Mashup, deve-se chamar a função Execute para iniciar a execução.
Parâmetros: (SOAConnectionData; SOAServiceData)
Resultados:
- SOAServiceData – Dados da execução do Mashup
- ResultType: Enumerado – Indica o resultado da execução do Mashup
- Continue – Indica que a execução do Mashup não chegou ao final e que deve ser preenchido os parâmetros do estado atual.
- Finished – Indica que o Mashup terminou a sua execução com sucesso.
- Error – Indica que houve um erro na execução do Mashup e a mesma deve ser interrompida.
- Warning – O mesmo que um erro, também implica no fim da execução do Mashup.
- InvalidParam – Indica que um parâmetro informado não é válido, o parâmetro deve ser informado corretamente e a execução do Mashup pode ser continuada.
- ResultMessage: String – Contém a mensagem de erro quando o ResultType é Error, Warning ou InvalidParam.
- ResultMessageCode: Integer – Contém um código relativo a mensagem de erro.
Tipo de dado - Table:
Quando o tipo de dado é do tipo Table, o string do valor contém uma estrutura com os dados da tabela. O XML é formado da seguinte maneira:
<?xml version=”1.0” encoding=”utf-8”>
<TotvsMashupTable SelectedIndex=0>
<Schema>
<Column>
<Name>Nome da Coluna</Name>
<DataType>Tipo de dados da Coluna (SOADataType)</DataType>
</Column>
</Schema>
<Data>
<Row>
<Nome da Coluna 1>Valor da Coluna 1</Nome da Coluna 1>
<Nome da Coluna 2>Valor da Coluna 2</Nome da Coluna 2>
</Row>
</Data>
</TotvsMashupTable>
A propriedade SelectedIndex do nó TotvsMashupTable deve ser informada com o índice da Row selecionada pelo usuário quando a tabela é um parâmetro do Mashup.
A tabela tem a sua definição informada no Nó Schema, para cada coluna da tabela, existe uma entrada de <Column> no Schema.
Para cada <Row> é informado o valor de acordo com o tipo de dado da coluna.
Passo a passo para a execução do Mashup:
A execução do Mashup deve seguir um passo a passo que deve ser obrigatoriamente da seguinte Maneira:
- É feita uma chamada a função GetService;
- Deve-se verificar se existe algum dado do tipo Info e o mesmo deve ser apresentado ao usuário juntamente com os parâmetro para o CurrentState, deve-se verificar se os parâmetros obrigatórios para o CurrentState foram informados.
- É feita uma chamada a função Execute passado os dados preenchidos, todos os dados devem ser enviados na chamada exceto os do tipo Info.
- Após a execução, deve-se verificar o resultado da execução (ResultType) e de acordo com o resultado:
- Continue – A execução deve voltar ao passo 2 para continuar a execução do próximo State do Mashup;
- Finished – A execução foi finalizada, os dados de Resultado estarão preenchido;
- Error, Warning – Deve ser apresentada a mensagem de erro ao usuário, a execução é finalizada neste ponto;
- InvalidParam – Deve ser apresentada a mensagem de erro ao usuário e voltar a ao passo 2 para continuar a execução do Mashup;
Produto: Framework
Versão: 11.82.XX e 12.01.XX
Processo: Integração com o WebService do Totvs Mashups
Status: Finalizado
Data: 30/05/2016
- Sem rótulos