Escolar Documentos
Profissional Documentos
Cultura Documentos
ADVPL/ASP e Webservice
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
ndice Analtico
Captulo 1 Arquitetura da ADVPL ASP ..................................................... 4
Introduo ........................................................................................................4
Repositrio de Objetos......................................................................................4
APO (Advanced Protheus Object)..................................................................4
Representao grfica do processamento........................................................5
Ferramentas de Produo.................................................................................6
Captulo 2 Variveis......................................................................................7
Introduo .........................................................................................................7
Nomenclatura das Variveis .............................................................................7
Declarando Variveis ........................................................................................7
Operadores .......................................................................................................8
Captulo 3 Estrutura da ADVPL ASP..........................................................09
Introduo ........................................................................09
Exemplo ...........................................................................................................09
Captulo 4 Estruturas de Controle ............................................................11
Instruo if .. then .. else ..elseif ............11
Instruo Do case ...........................................................................................15
Loops....................................15
Captulo 5 Recuperando Dados enviados por Post e Get ......................16
Recuperando Dados com Metdo POST ......................................16
Recuperando Dados com Metdo GET ..........................................................18
Captulo 6 Acessando Base de Dados.....................................................22
Introduo ......................................................................................................22
Inserindo dados em uma tabela......................................................................24
Captulo 7 Web Services em ADVPL - CLIENT .......................................28
Introduo ......................................................................................................28
Curso de Introduo a Plataforma ADVPL/ASP WebService
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
APOs
.aph
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Solicitao func.APW
Resposta HTML
APOs
(repositrio)
AP7
Web Server
Descrio
O que acontece
Nenhuma
Um endereo
http nico, sem
um nome de
arquivo definido.
.HTM;.HTML
ou outra
extenso
qualquer.
Pginas HTML,
arquivos texto,
arquivos de
imagem, som,
vdeo, etc.
uma chamada
direta a uma
funo do
repositrio do
AP7.
.APW
Exemplo
http://servidor/
http://servidor/cadastro.h
tm
ou
http://servidor/imagem.gif
http://servidor/acerto.apw
ou
http://servidor/runprog.ap
w
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
.APH
uma chamada
para uma pgina
ativa (uma
pgina em
ADVPL ASP).
http://servidor/activep.ap
w
ou
http://servidor/cadastro.a
pw
Ferramentas de Produo
Para aculturar-se em ADVPL ASP fundamental ter conhecimento em
HTML, pois uma pgina sempre haver cdigo ADVPL ASP mesclado
com HTML.
Os arquivos que contm o cdigo para gerar as pginas de seu site so
arquivos texto, portanto, voc pode utilizar qualquer editor de texto do
mercado.
Utilizaremos o AP7 IDE para escrever nossos cdigos ADVPL ASP com
HTML, porem utilizaremos tambm uma ferramenta que nos auxilie no
HTML. Existem vrias no mercado, mas as mais familiares so
Dreamweaver da Macromedia, FrontPage e o Visual Studio da Microsoft
entre outros .
Captulo 2 - Variveis
Curso de Introduo a Plataforma ADVPL/ASP WebService
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Introduo
Variveis um espao temporrio na memria RAM que pode ser
manipulado.
Nomenclatura das variveis
No Hypersite seguimos uma padronizao de nomenclaturas para facilitar
o entendimento dos complexos scripts.
nXXXX = varivel Numeric (nmerico). Quando voc se deparar com uma
varivel que possui o prefixo n significa que o contedo dela um valor
nmerico. Ex.: nVLUN = 100
dXXXX = varivel Date (data). Quando voc se deparar com uma varivel
que possui o prefixo d significa que o contedo dela uma data. Ex.:
dDTPG = 14/08/2000
cXXXX = varivel Char ou String (texto). Quando voc se deparar com
uma varivel que possui o prefixo c significa que o contedo dela um
texto. Ex.: cDTPG = Makira
lXXXX = varivel logic (lgico). Quando voc se deparar com uma
varivel que possui o prefixo l significa que o contedo dela um valor
lgico (verdadeiro ou falso). Ex.: lATIVO = F
Declarando variveis
A declarao das variveis obrigatrio na ADVPL ASP. H dois tipos de
variveis a Local e a Private.
Utiliza-se uma varivel Public quando h necessidade de armazenar o
contedo dela durante toda a navegao do usurio dentro do site, ao
contrrio da Local que utilizada momentaneamente.
Operadores
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Operador
=
==
:=
!= ou <>
Descrio
Comparao (igual)
Comparao (exatamente igual)
Atribuio
Diferente
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Introduo
Todas as pginas escritas devero ser referenciadas a um programa APL
seguindo sempre a mesma nomenclatura. A seguir temos a estrutura de
um arquivo APW.
Exemplo
Montaremos a seguir um programa fonte simples que retorna a Data do
sistema. Ele ter o nome de RetDate, a chamada no browser deve ser
http://nome_do_server/u_RetDate.apw. Abaixo damos a descrio de
cada parte da chama.
Endereo do Server: http://nome_do server. Informa o endereo do server
onde esta compilada a pgina. Por default o server esta na porta 80
portanto no necessrio informar a porta, caso contrario a porta deveria
ser informa com : (dois pontos) e o nmero da porta aps o nome do
serve. Ex.: http://nomedo_server:82/u_RetDate.apw
Programa: U_RetDate.apw
Nomenclatura do nome :U_nnnnnnn.apw
U_ : Informa que que uma User Function (Funo de Usurio). W_
(Web Function) e (Function) so exclusiva para o desenvolvimento interno
da Microsiga Software S\A. Portanto clientes no conseguiram compilar
Web Function e Function, somente User Function.
nnnnnnn: nome da Funo
.apw: extenso de uma pgina ADVPL ASP
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
10
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
11
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
1 <html>
2 <body>
Curso de Introduo a Plataforma ADVPL/ASP WebService
12
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
3
4 <%
5 local n
6
7 n := left(time(),2)
8
if val(n) < 12
9
%>
10
Bom Dia !!!
11
<%
12
Else
13
%>
14
Boa Tarde !!!
15
<%
16
Endif
17
%>
18
19 </body>
20 </html>
Na linha 1 e 2 encontramos as tags <html> e <body> que como vimos faz
parte do inicio e corpo de um documento HTML.
Na linha 4 temos o indicador de script (<%), que tem como objetivo
informar ao browser que daquele ponto em diante h um cdigo ADVPL
ASP a ser executado. Sempre que for iniciar um script ADVPL ASP utilizase o indicador (<%) e para finalizar um script utiliza-se o indicador (%>).
Na linha 5 estamos declarando a varivel n como uma varivel local.
Na linha 7 temos o cdigo n := left(time(),2). Utilizamos a funo time()
para retornar a hora atual no formato hh:mm:ss, utilizamos a funo
left(string,posio) para retornar apenas as horas (hh) do contedo da
funo time(). Este contedo ser armazenado na varivel n
Na linha 8 utilizamos a condio IF para verificar se n menor que 12,
lembrando que estamos trabalhando com time de 24 hs.
Na linha 9 estamos indicando com (%>) o final do primeiro bloco de script.
Na linha 10 colocamos um texto HTML
13
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
14
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
15
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
HttpPost-><NOME DA VARIVEL>
HttpGet-><NOME DA VARIVEL>
HttpSession-><NOME DA SESSO>
Descrio: retorna o contedo dos campos de um formulrio.
Parmetros:
<html>
<body bgcolor="#FFFFFF">
<form method="post" action="http://localhost/u_ex002.apw">
<p>Nome: <input type="text" name="field_nome"> <br>
Idade: <input type="text" name="field_idade"> <br>
<input type="submit" name="Submit" value="Enviar">
Curso de Introduo a Plataforma ADVPL/ASP WebService
16
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
</p>
</form>
</body>
</html>
Agora vamos escrever o cdigo em ADVPL ASP para nosso arquivo APW
1 User Function ex002()
2
3
Local cHTML:=""
4
Private cNome, cIdade
5
6
cNome := HttpSession->field_nome
7
cIdade := HttpSession->field_idade
8
9
WEB EXTENDED INIT cHtml
10
11
cHTML:= H_teste001()
12
13
WEB EXTENDED END
14
15 Return cHTML
17
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
<html>
<head>
<title>Metodo GET</title>
</head>
<body bgcolor="#FFFFFF">
<form method="get" action="http://nistal:1200/u_ex003.apw">
Curso de Introduo a Plataforma ADVPL/ASP WebService
18
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
19
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
3
Local cHTML:=""
4
Private cNome, cSNome, cCurso
5
6
Web Extended Init cHtml
7
cNome := HttpGet->field_nome
8
cSNome := HttpGet->field_snome
9
cCurso := HttpGet->field_curso
10
11
cHTML:=H_ex003()
12
13
Web Extended End
14
15 Return cHTML
20
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
21
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
22
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Unitário</font></b></div>
</td>
</tr>
<%
dbselectarea('FA2')
dbgotop()
while !Eof()
%>
<tr bgcolor="#FFFFFF">
<td><%=FA2_COD %></td>
<td><%=FA2_DESCR %></td>
<td><%=FA2_QTDEST %></td>
</tr>
<%
dbskip()
enddo
%>
</table>
</body>
</html>
23
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
1. Primeiramente, vamos criar o arquivo .aph (ou .ahu), que tem como
objetivo formar um formulrio para que o usurio insira os dados (cdigo
do produto, descrio do produto e quantidade em estoque).
<html>
<head>
<title>Inserindo Registros</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<form method="POST" action="http://localhost/w_ex005.apw">
<table width="22%" align="center">
<tr bgcolor="#006699">
<td colspan="2">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sansserif"><b><font color="#FFFFFF">Inserindo
Registros</font></b></font></div>
</td>
</tr>
<tr bgcolor="#EEEEEE">
<td width="17%"><font face="Verdana, Arial, Helvetica, sans-serif"
size="2">Cod:</font></td>
<td width="83%">
<input type="text" name="field_cod">
</td>
</tr>
<tr bgcolor="#EEEEEE">
<td width="17%"><font face="Verdana, Arial, Helvetica, sans-serif"
size="2">Descricao:</font></td>
<td width="83%">
<input type="text" name="field_descr">
</td>
</tr>
<tr bgcolor="#EEEEEE">
<td width="17%"><font face="Verdana, Arial, Helvetica, sans-serif"
size="2">Qtde. Estoque:</font></td>
<td width="83%">
<input type="text" name="field_qtdest">
</td>
Curso de Introduo a Plataforma ADVPL/ASP WebService
24
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
</tr>
<tr bgcolor="#EEEEEE">
<td width="17%">
<div align="center">
<input type="submit" name="Submit" value="Inserir">
</div>
</td>
<td width="83%"> </td>
</tr>
</table>
</form>
</body>
</html>
Note que neste cdigo utilizamos o mtodo POST no formulrio, visto
anteriormente nesta apostila.
Agora vamos escrever o cdigo do arquivo .apw, nele que iremos escrever
os comandos para recuperar os dados enviados pelo formulrio e em
seguida grava-los na base de dados.
1 User Function ex005()
2
3
Local cHTML:=""
4
Local cCod, cDescr, nQtdEst
5
6
7
9
10 // Recupera os dados do formulrio.
11 cCod := HttpPost->field_cod
12 nQtdEst := HttpPost->field_qtdest
13 cDescr := HttpPost->field_descr
14
15 // Grava os dados.
16 If RecLock('FA2',.t.)
17 FA2->FA2_COD := cCOD
18 FA2->FA2_DESCR := cDescr
19 FA2->FA2_QTDEST := val(nQtdEst)
20 MSUnlock()
22 cHTML:=H_ex004
Curso de Introduo a Plataforma ADVPL/ASP WebService
25
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Else
CHtml := WebAlert(Erro ao incluir registro.)
Endif
23
24 Web Extended End
25
27 Return cHTML
Nas linhas 3 e 4 estamos declarando as variveis como locais que sero
utilizadas no decorrer do programa;
Na linha 6 estamos comunicando ao AP7 Web Server que ser
inicializada uma conexo web;
Na linha 10 temos um comentrio. Tudo que estiver aps os caracteres
// e na mesma linha no sero considerados no momento da
compilao;
Nas linhas 11,12 e 13 estamos recuperando os dados enviados para o
Server atravs do formulrio. Os dados cdigo do produto, descrio do
produto e quantidade em estoque sero armazenados nas variveis
cCod, cDescr e nQtdEst respectivamente. Note que a varivel nQtdEst
inicia a sua nomenclatura com o caracter n porque a mesma uma
varivel do tipo nmerica.
Na linha 15 temos outro comentrio.
Na linha 16 estamos inicializando o processo para gravar um registro na
tabela. O comando RecLock('FA2',.t.) tem como objetivo travar o registro
a ser gravado para que nenhum outro usurio que esteja executando o
mesmo programa grave no mesmo nmero de registro. Este comando
retornar .t. (true) se a condio for verdadeira, ou seja se ningum
estiver tentando gravar no mesmo nmero de registro;
Na linha 17 estamos gravando o conteudo da varivel cCod no campo
FA2_Cod da tabela FA2. Note que para gravar um registro utilizamos o
comando REPLACE;
Na linha 18 estamos gravando o conteudo da varivel cDescr no campo
FA2_DESCR da tabela FA2. Note que para gravar um registro utilizamos
o comando REPLACE;
Curso de Introduo a Plataforma ADVPL/ASP WebService
26
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
27
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
28
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
29
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
30
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
<message name="GETSERVERTIMESOAPOUT">
<part name="parameters" element="s0:GETSERVERTIMERESPONSE" />
</message>
<portType name="SERVERTIMESOAP">
<operation name="GETSERVERTIME">
<input message="s0:GETSERVERTIMESOAPIN" />
<output message="s0:GETSERVERTIMESOAPOUT" />
</operation>
</portType>
<binding name="SERVERTIMESOAP" type="s0:SERVERTIMESOAP">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="GETSERVERTIME">
<soap:operation soapAction="http://localhost/GETSERVERTIME" style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="SERVERTIME">
<port name="SERVERTIMESOAP" binding="s0:SERVERTIMESOAP">
<soap:address location="http://localhost/SERVERTIME.apw" />
</port>
</service>
</definitions>
31
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
32
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
WSMETHOD NEW
WSMETHOD GETSERVERTIME
WSDATA _URL
AS String
WSDATA cGETSERVERTIMERESULT
AS string
ENDWSCLIENT
--- declarao do mtodo NEW , para a criao do Objeto / Servio --WSMETHOD NEW WSCLIENT WSSERVERTIME
::_URL
:= NIL
::cGETSERVERTIMERESULT := ""
Return Self
/* ------------------------------------------------------------------------------WSDL Method GETSERVERTIME of Service WSSERVERTIME
------------------------------------------------------------------------------- */
--- Definio do mtodo , que recebe os parmetros de chamada , executa o servio
e alimenta as propriedades de retorno do metodo , contendo os encapsulamentos
necessrios para tratamento de excesses --WSMETHOD GETSERVERTIME WSSEND NULLPARAM WSRECEIVE cGETSERVERTIMERESULT
WSCLIENT WSSERVERTIME
Local cSoap := "" , oXmlRet
BEGIN WSMETHOD
DEFAULT ::_URL := "http://localhost/SERVERTIME.apw"
cSoap += '<GETSERVERTIME xmlns="http://localhost/">'
cSoap += "</GETSERVERTIME>"
oXmlRet := SvcSoapCall(
Self,cSoap,;
"http://localhost/GETSERVERTIME",;
"DOCUMENT","http://localhost/",)
::cGETSERVERTIMERESULT := xGetInfo( oXmlRet ,
"_GETSERVERTIMERESPONSE:_GETSERVERTIMERESULT:TEXT" , "" )
END WSMETHOD
oXmlRet := NIL
Return .T.
33
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Passo 3 : Criar um fonte que utilize esta classe para a obteno do horrio.
Agora , criamos um novo arquivo no IDE , e montamos uma funo para
utilizar a classe de Web Services Client para obter o horrio no servidor.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#INCLUDE "PROTHEUS.CH"
User Function TestClient()
Local oSvc := NIL
oSvc := WSSERVERTIME():New()
If oSvc:GETSERVERTIME()
alert("Horrio no Servidor : "+ oSvc:cGETSERVERTIMERESULT)
Else
alert("Erro de Execuo : "+GetWSCError())
Endif
Return
Linha 1
Linha 3
Linha 4
Client
Linha 6
Linha 8
34
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Linha 9
Linha 11
Linha 13
do client pode ser .T. (true) em caso de execuo com sucesso ou .F.
(false) em caso de falha de execuo .
Caso o servio tenha sido executado com sucesso , o retorno esperado
alimenrado na propriedade cGetServerTimeResult do objeto do servio.
Caso contrrio ( retorno .F. ) , ocorreu alguma falha na chamada do
servio, como por exemplo o servidor no estava no ar, demorou muito
pra responder ( time-out ) , entre outras. Para recuperarmos maiores
detalhes sobre a ocorrncia de erro , utilizamos a funo
GetWSCerror() , que retorna uma string com o resumo da ocorrncia .
Finalizamos o programa de teste com um Return
35
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
36
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
37
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
tratadas peo Web Services Client Advpl esto relacionadas no Tpico Web
Services Client Cdigos de Erro .
38
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
"simpletype" com um "enumeration" ( lista de parametros vlidos prdeterminada ) , os tipos suportados at a verso 'ADVPL WSDL Client 1.021119
B' so : STRING, FLOAT, DOUBLE, DECIMAL, INT, INTEGER,
UNSIGNEDLONG, UNSIGNEDINT, LONG . Caso o WSDL contenha um
"enumeration" com uma lista de itens de algum tipo que no os declarados
acima ( tipo no supirtado ) , o processamento abortado com a mensagem
acima , onde o "enumeration" no suportado identificado em
<STRUCT_NAME> e <STRUCT_TYPE>
WSCERR004 / Apontamento de pendncia 001B em Implementao para
(<N>) <STRUCT_NAME>
Apos a anlise inicial dos parametros e estruturas utilizadas no servio ,
as estruturas pendentes so analizadas recursivamente at que todas as
estruturas utilizadas sejam processadas. Quando deste processamento , uma
estrutura contenha um elemento que aponte para uma outra estrutura , e esta for
encontrada registrada no como uma estrutura ( complextype ) ; o WSDL
considerado invlido , e o processo de gerao abortado com a mensagem
acima, identificando a estrutura pendente em <STRUCT_NAME>
WSCERR005 / Apontamento de pendncia 001A em Implementao para
(<N>) <STRUCT_NAME>
Similar ao WSCERR004 , esta ocorrncia reproduzida quando uma
estrutura contenha um elemento que aponte para uma outra estrutura , e esta
segunda estrutura no for encontrada no WSDL ; consequentemente o processo
de gerao abortado com a mensagem acima, identificando a estrutura
pendente em <STRUCT_NAME>
WSCERR006 / 01 Empty ParamName : aMsg <N>
Quando da anlise de parmetros ( Messages ) a partir de um WSDL ,
Caso um Message no tenha nome definido , O WSDL considerado invlido , e
o processo de gerao abortado com a mensagem acima, identificando em
<N> o elemento Interno do array de Messages do gerador de cdigo Advpl .
WSCERR007 / 01 Empty ParamType for <PARAM_NAME> : aMsg <N>
Quando da anlise de parmetros ( Messages ) a partir de um WSDL ,
Caso um Message no tenha um tipo definido , O WSDL considerado invlido ,
e o processo de gerao abortado com a mensagem acima, identificando em
39
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
-> Idntico
-> Identico ao
40
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
41
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
42
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
43
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
44
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
45
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
46
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
47
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
48
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
49
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
50
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
51
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
// Declarao do Servio
52
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
WSSTRUCT <Nome_da_Estrutura>
Estrututra(s) ( opcionais )
// Declarao da(s)
2. Nomenclatura de Estruturas
WSSTRUCT <Nome_da_Estrutura>
Estrututras ( opcionais )
// Declarao de
53
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
<Nome_da_Estrutura>
[ARRAY OF]
<Tipo_Campo>
[OPTIONAL]
54
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
Date
Integer
Float
4. Mtodos ( Aes )
WSMETHOD <Metodo> WSRECEIVE <Cpo_In>[, Cpo_In2,...] WSSEND
<Cpo_Out>
<Metodo>
55
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
56
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
cujas requisioes de links apw seram atendidas por este job. Veja exemplo do
job abaixo :
[http] ; configurao do servio http
Enable=1
Port=80
Path=c:\Ap7\Http
[localhost] ; Configuraao do host local
ResponseJob=WSTESTE
[WSTESTE] ; Configuracao do job
TYPE=WEBEX ; Tipo do Job para WebServices deve ser WEBEX
ONSTART=__WSSTART ; configurao fixa para webservices
ONCONNECT=__WSCONNECT ; configurao fixa para webservices
Environment=ENVTESTE ; Indica qual environment do Server que ir
atender s requisies
INSTANCES=2,5 ; Indica qual a quantidade minima (default ) e maxima
de threads ( ambientes ) que sero colocados no ar para atender solicitaes
de processamento do servio publicado.
Conout=1 ; Permite a exibio de informaes dos status internos do
servio ( default = 0 : desabilitado )
Trace=1 ; Habilita a grevao de um arquivo de log ( wsstrace.log ) ,
contendo as informaes sobre todas as chamadas e status do Web Service
( default = 0 )
PrepareIn=01,01 ; Permite especificar qual a empresa e filial do ERP
sero utilizados para a montagem do ambiente de processamento das
requisies.
NameSpace = http://localhost/ ; Permite especificar o nome do
namespace utilizado pelo servio ( default = host atualmente utilizado )
URLLocation = http://localhost/ ; Permite especificar a url responsvel
pelo atendimento as solicitaes de processamento do servio ( default = host
atualmente utilizado )
57
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."
58
"Essa mensagem destinada exclusivamente ao seu destinatrio e pode conter informaes confidenciais,
protegidas por sigilo profissional ou cuja divulgao seja proibida por lei. O uso no autorizado de tais
informaes proibido e est sujeito s penalidades cabveis."