Manual en microfocus
https://community.microfocus.com/cfs...4-12/rmnet.pdf
Yo utilizo llamadas a servicios web desde RM/Cobol.
Debe utilizar una versión avanzada. Yo utilizo la 12+.
No recuerdo desde que versión contiene esta caracteristica pero no creo que la tengan la anterior a la 11.
Para comenzar, en la carpeta donde está instalado el runtime y el SDK de desarrollo hay un manual ( si es version 11 cambiar 12 por 11, etc)
C:\Program Files (x86)\Liant\RMCOBOLv12\RMNet\rmnet.pdf
y una DLL
C:\Program Files (x86)\Liant\RMCOBOLv12\RMNet\rmnet.dll
y una carpeta de ejemplos de uso
C:\Program Files (x86)\Liant\RMCOBOLv12\RMNet\samples
Si no se tiene esa carpeta
C:\Program Files (x86)\Liant\RMCOBOLv12\RMNet lo normal es que la version que se tenga instalada no disponga de esta caracteristica.
Y en linux, yo tambien lo tengo funcionando, esta todo en la carpeta
/usr/rmcobol/RMNet (aqui el objeto que contiene esta caracteristica es librmnet.so)
Cuando se lanza el programa hay que hacerlo con el
.DLL o con
.so si es linux
Hago una pequeña introducción de lo que hay que hacer para comenzar: ( despues ya vamos hablando )
Código COBOL:
IDENTIFICATION DIVISION.
environment division.
....................................mas cosas
working-storage section.
copy "lixmlall.cpy".
01 request-payload usage pointer.
01 response-payload usage pointer.
01 request-payloadx pic x(6000).
01 response-payloadx PIC X(2000).
01 response-status pic 9(3) value zero.
01 response-len pic s9(4).
01 Desired-SOAP-Action pic x(150).
01 Post-Address pic x(100).
78 Content-Type value "text/xml; charset=utf-8".
--------------------------------mas cosas
PROCEDURE DIVISION.
.................................mas cosas
XML INITIALIZE.
call "NetInit"
giving
response-status.
set request-payload to address of request-payloadx
set response-payload to address of response-payloadx
.................................mas cosas
XML GET TEXT
request-payload
nombre-xml.
.................................mas cosas
if not XML-OK go to z.
if not es-unix then
move 1 to j
perform varying i from 1 by 1 until
desired-soap-action(i:) = ' '
if desired-soap-action(i:1) = '/' then
move i to j
end-if
end-perform
display 'Servicio web :' line 24 position 1 erase eol
display desired-soap-action(j:50) line 24 position 16
display '*** espere ***' line 24 position 65
end-if
.................................mas cosas
call "HttpPost"
using
Post-Address
Content-Type
request-payload
response-payload
Desired-SOAP-Action
giving
response-status.
.................................mas cosas
XML PUT TEXT
response-payload
nombre-xml1.
.................................mas cosas
call "NetCleanup".
.................................mas cosas