Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Guia explicativo de como utilizar os novos webservices em MVC

Produto:

Microsiga Protheus®

Versões:

P12

Ocorrência:

Tenho a necessidade de utilizar

Como utilizar o Webservices do cadastro de clientes (MATA030) para integrar com softwares terceiros e/ou customizações?

Ambiente:

Todos

Detalhes de como utilizar o WebService

A rotina de Cadastro de Clientes (MATA030) foi reescrita no modelo MVC, onde já possui um WebServices nativo para utilização. Abaixo segue

os detalhes de como utilizar esse novo modelo de WebServices:

Web Services para MVC

Ao se desenvolver uma aplicação utilizando MVC, já estará disponível um Web Service para ser utilizado para o recebimento de dados.Todas as aplicações em MVC utilizarão o mesmo Web Service, independentemente de sua estrutura ou de quantas entidades ele possua. O Web Service que está disponível para o MVC é o FWWSMODEL
A ideia básica é que iremos instanciar o Web Service, informar qual a aplicação que será utilizada e informar os dados em um formato XML.

Web Service para modelos de dados que possuem uma entidade

Veremos como construir uma aplicação que utilize o Web Service FWWSMODEL com um modelo de dados (Model) que possui apenas uma entidade.

Instanciamento do Client de Web Service

O instanciamento se dá seguinte forma:
Instanciamento do Client do Web Service propriamente dito.
oMVCWS := WsFwWsModel():New()

Definição da URL do FWWSMODEL no servidor de Web Services.
oMVCWS:_URL := http://127.0.0.1:8080/ws/FWWSMODEL.apw

Definição da aplicação que será usada.
Definimos aqui o nome do fonte que contém a ModelDef que queremos utilizar.

oMVCWS:cModelId := 'COMP011_MVC'

A estrutura do XML utilizada

Como dito anteriormente os dados serão informados em um XML. A estrutura desse XML segue a seguinte hierarquia básica:

Image Removed

A tag <ID do Model> é o que identificador (ID) foi definido no modelo de dados (Model) da aplicação MVC.
Exemplo
Na aplicação temos definido:
oModel := MPFormModel():New('COMP011M' )

No XML a tag <ID do Model> será:
<COMP011M>
...
</COMP011M>

A operação que será realizada inclusão (3), alteração (4) ou exclusão (5) também dever ser informada nesta tag, no atributo Operation. Assim se quisermos fazer uma operação de inclusão teremos
<COMP011M Operation="3">
As tags <ID de Componente> são IDs dos componentes de formulários ou componente de grids que foram definidos no modelo de dados (Model) da aplicação.
Manual ADvPl utilizando o MVC
106
Versão 4.0
Manual ADvPl utilizando o MVC
Exemplo

o link para consultar nossa apostila de ADVPL que contem detalhes de como utilizar nossos webservices.

http://tdn.totvs.com/display/public/mp/AdvPl+utilizando+MVC - Consultar as páginas 104 a 116 que contem o capitulo sobre WebServices

Segue um trecho da documentação para apreciação.:

Image Added

Observação: O conteúdo completo esta no link acima.

Importante: Para o tratamento indicado acima, é necessário que o analista seja um desenvolvedor com conhecimento em linguagem voltada para os métodos MVC, caso não possua este conhecimento, o cliente deverá acionar o ESN na Totvs para contratar os serviços de Fábrica de Software para efetuar o processo.

Se na aplicação temos:
oModel:AddFields( 'ZA0MASTER' )
No XML as tags <ID de Componente> serão:
<ZA0MASTER>
...
</ZA0MASTER>
O tipo do componente (de formulário ou de grid) também deve ser informados nesta tag no atributo modeltype. Informe FIELDS para componentes de formulários e os componentes de grid.
Teríamos então:
<ZA0MASTER modeltype="FIELDS">
As tags <ID de Campo> serão os nomes dos campos da estrutura do componente, seja formulário ou grid Assim se na estrutura tivermos os campos ZA0_FILIAL, ZA0_ CODIGO e ZA0_NOME, por exemplo, teremos:
<ZA0_FILIAL>
...
</ZA0_FILIAL>
<ZA0_CODIGO>
...
</ZA0_CODIGO>
<ZA0_NOME>
...
</ZA0_NOME>
A ordem dos campos também deve ser informada nestas tags, no atributo order.
<ZA0_FILIAL order="1">
...
</ZA0_FILIAL>
<ZA0_CODIGO order="2">
...
</ZA0_CODIGO >
<ZA0_NOME order="3">
...
</ZA0_NOME>
anual SPED Contábil
Manual ADvPl utilizando o MVC
Manual ADvPl utilizando o MVC
107
Versão 4.0
Quando o componente é um formulário (FIELDS), os dados propriamente ditos devem ser informados em uma tag value.
<ZA0_FILIAL order="1">
<value>01</value>
</ZA0_FILIAL>
<ZA0_CODIGO order="2">
<value>001000</value>
</ZA0_CODIGO >
<ZA0_NOME order="3">
<value>Tom Jobim</value>
</ZA0_NOME>
Então a estrutura completa será:
<COMP011M Operation="1">
<ZA0MASTER modeltype="FIELDS" >
<ZA0_FILIAL order="1">
<value>01</value>
</ZA0_FILIAL>
<ZA0_CODIGO order="2">
<value>01000</value>
</ZA0_CODIGO>
<ZA0_NOME order="3">
<value>Tom Jobim</value>
</ZA0_NOME>
</ZA0MASTER>
</COMP011M>


Pode lhe Interessar:

Duvidas sobre o que é o padrão MVC, acesse o link abaixo:
http://tdn.totvs.com/display/public/mp/Pontos+de+Entrada+para+fontes+Advpl+desenvolvidos+utilizando+o+conceito+MVC