Вопрос по web-services, zos, mainframe, cobol – Как z / OS может вызвать веб-сервис?

2

У меня есть программа COBOL, которая должна получать данные из веб-службы. Без использования CICS, каковы мои лучшие варианты? Я думал, что программа на C может прочитать веб-сервис и сохранить его в файл, тогда COBOL сможет прочитать этот файл. Может ли COBOL вызвать веб-сервис? Размер данных составляет около 300 МБ.

Есть ли конкретная причина, почему CICS здесь верботен? Доступ к службам CICS из пакетного задания очень прост. zarchasmpgmr

Ваш Ответ

4   ответа
0

Эта статья, Он предлагает создать оболочку C / C ++, взаимодействующую с веб-службой. Хотя эта статья предназначена для iSeries, вы можете реализовать нечто очень похожее в zSeries, используя BPXBATCH

По сути, они предлагают использовать оболочку C между вашим кодом COBOL и кодом C ++, который взаимодействует с веб-сервисом. Это решение позволяет COBOL вызывать функцию C относительно простым способом. Функция C имитирует поведение C ++, реализуя вызов веб-службы с использованием прокси C ++.

2


Мы сделали это в нашей компании.

You have to specify that it is RECURSIVE You have to import the classes

Класс HelloJ есть
     & Quot; com.ibm.zos.batch.container.test.HelloJ & Quot;
     Класс JavaException является & quot; java.lang.Exception & quot;
     Класс BCDTranHelper есть
     & Quot; com.ibm.batch.spi.UserControlledTransactionHelper & Quot ;.

The you have to include JNI. LINKAGE SECTION. COPY JNI

*** Затем вы можете вызывать Java из COBOL в вашем разделе ПРОЦЕДУРЫ с:
 Вызов HelloJ & quot; sayHello & quot;

Также посмотрите на Java Exception Check *, чтобы увидеть, как обрабатывать исключения.

Это очень полезно, если вы хотите вызвать веб-сервис из вашей программы COBOL в z / os.

см. эту ссылку для более подробной информации.

http://pic.dhe.ibm.com/infocenter/zos/v1r13/index.jsp?topic=%2Fcom.ibm.zos.r13.iean500%2Fcodeexm.htm

0

вам может потребоваться вызов Java из программы cobol для доступа к веб-службе. Предполагая, что вы используете Enterprise cobol, ознакомьтесь с разделом 6.44Автономные приложения Java в z / OS, том II

Я должен исправить это, но ... Я думаю, что можно вызывать подпрограммы (методы) COBOL из приложения Java, но не наоборот. Java должна работать под JNI, но COBOL нужна только при вызове из Java. Если процесс верхнего уровня не запущен под JNI (т.е. является Java), процессы нижнего уровня, которые требуют его, не могут быть вызваны. Вот почему магистрали OO COBOL в z / os не существуют (их можно вызывать только из программ на Java).
5

Я работаю в компании с системой z / OS, работающей в основном на COBOL, batch (JCL) и CICS. Для вызова веб-сервисов мы написали модуль для реализации HTTP 1.0 с использованием TCP / IP. С модулями

EZASOKET GETHOSTBYNAME SOCKET CONNECT WRITE FCNTL READ CLOSE SELECTEX

дополнительные модули:

EZACIC04 translates EBCDIC to ASCII EZACIC05 translates ASCII to EBCDIC EZACIC06 convert character to bit mask EZACIC08 decode IP address

Поскольку я написал это для своей компании, я не могу просто выдать код. Но для справки, мне потребовалось 3 дня, чтобы написать модуль, и это было с примера, чтобы начать с того, что сделало частичный хакерский способ сделать это.

Вам необходимо прочитать справочные материалы IBM, чтобы узнать, как использовать модули EZA.

http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.halc001/sampcs.htm

Похожие вопросы