在IBM i (OS/400)上使用RPG程序的WebService调用示例

作者:佚名 上传时间:2023-03-18 运行软件:RPG 软件版本:IBM i 7.3 版权申诉

该示例展示了如何在IBM i (OS/400)上使用RPG程序调用远程Web服务。这个简单的示例使用了IBM i (OS/400)的HTTPAPI服务以及SOAP客户端RPC。通过这个示例,你可以学习如何调用远程Web服务并处理返回的结果。

//引用所需的服务程序
        *USE HTTPAPI

        //声明调用WebService的入口参数
        Dcl-Pr CallWebService char(100) ExtProc('CallWebService');
          url char(100) const;
          soapAction char(100) const;
          soapEnvelope char(32000) const options(*varsize);
          soapResponse likeds(HTTPAPI_Response) options(*varsize);
        End-Pr;

        //声明所需的变量
        Dcl-C SERVER_URL 'http://www.webservicex.net/CurrencyConvertor.asmx?WSDL';
        Dcl-C SOAP_ACTION 'http://www.webserviceX.NET/ConversionRate';
        Dcl-C SOURCE_CURRENCY 'USD';
        Dcl-C TARGET_CURRENCY 'EUR';
        Dcl-C AMOUNT 100.0;
        Dcl-C SOAP_ENVELOPE '<?xml version="1.0" encoding="utf-8"?>
        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
          <soap:Body>
            <ConversionRate xmlns="http://www.webserviceX.NET/">
              <FromCurrency>'+%Trim(SOURCE_CURRENCY)+'
              </FromCurrency>
              <ToCurrency>'+%Trim(TARGET_CURRENCY)+
              '</ToCurrency>
            </ConversionRate>
          </soap:Body>
        </soap:Envelope>';
        Dcl-S soapResponse HTTPAPI_Response_t;

        //调用WebService
        CallWebService(SERVER_URL:SOAP_ACTION:SOAP_ENVELOPE:%ADDR(soapResponse));

        //解析返回的SOAP响应,获取转换率
        Dcl-S conversionRate packed(10:4);
        Dcl-S startIdx int(10) inz(0);
        Dcl-S endIdx int(10) inz(0);
        Dcl-S requestTag char(256) inz('ConversionRateResult');
        Dcl-S responseText char(256) based(%ADDR(soapResponse.ResponseBody));
        startIdx = %Scan(requestTag:%Trim(responseText))+%Len(requestTag)+2;
        endIdx = %Scan('</'+requestTag+'>':%Trim(responseText),startIdx)-1;
        conversionRate = %Dec(responseText:startIdx:endIdx)/10000;

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
IBM i (OS/400)使用RPG程序WebService调用示例
该示例展示了如何在IBM i (OS/400)上使用RPG程序调用远程Web服务。这个简单的示例使用了IBM i (OS/400)的HTTPAPI服务以及SOAP客户端RPC。通过这个示例,你可以学习
IBM i 7.3
RPG
2023-03-18 23:54
IBM i (OS/400)使用Python调用RPG IV程序
本示例展示了如何在IBM i (OS/400)操作系统上使用Python编程语言调用RPG IV程序。Python是一种流行的高级编程语言,它与IBM i系统平台兼容。RPG IV是一种程序设计语言,
Python 3.7.2, IBM i (OS/400) 7.3
IBM i Access Client Solutions
2023-04-27 04:02
IBM i (OS/400) 如何使用 SQL 调用 RPG 程序
本例中展示了如何使用在IBM i系统上使用SQL语句调用RPG程序。RPG程序将被传递变量后,将输出被返回到SQL查询的结果集中。CREATE FUNCTION MY_RPG_FUNCTION (I
IBM i 7.4
IBM RPG编译器
2023-05-24 11:52
使用IBM i (OS/400)RPG程序调用API
这段示例代码是在RPG程序中使用IBM i (OS/400)调用API的常见解决方案。通过使用API,可以方便地调用外部程序或操作系统功能。dcl-pr MyAPI extproc('MYAPI')
IBM i (OS/400) V7R3
RPG
2023-03-21 05:38
IBM i (OS/400)使用RPG编程语言(IBM i (OS/400))
IBM i (OS/400)是一种流行的操作系统,广泛用于企业级应用程序的开发和部署。其中,RPG编程语言是一种高级编程语言,适用于开发企业级应用程序。本文将介绍在IBM i (OS/400)上使用R
IBM i (OS/400) V7R4,Rational Developer for i 9.6
Rational Developer for i
2023-04-03 04:01
IBM i (OS/400)使用RPG调用Web服务方法
本示例代码演示了如何使用RPG调用Web服务并处理XML响应。通过使用IBM i (OS/400)系统提供的HTTP协议和XML解析库,我们可以轻松地在RPG代码中使用Web服务。// 定义HTTP
IBM i 7.4
RPG
2023-04-30 12:04
IBM iOS/400使用RPG编写调用API代码
介绍如何使用RPG编写调用API的代码,以调用IBM i操作系统中的函数和服务。//PASE API调用示例 ctl-opt dftactgrp(*no) actgrp('MYACTGR
IBM i 7.3
RPG编译器
2023-04-28 00:40
IBM i (OS/400) 使用 RPG 语言调用 Web 服务示例代码
本示例展示了如何在 IBM i (OS/400) 上使用 RPG 语言调用 Web 服务。通过使用 IBM Toolbox for Java 中的 JT400 API,我们可以轻松地与 Web 服务进
IBM i 7.3
RPG IV
2023-03-23 07:36
使用IBM i (OS/400)执行RPG程序
IBM i(先前称为OS/400)是IBM的操作系统,广泛用于企业应用程序。本示例演示了如何在IBM i上执行RPG(Report Program Generator)程序,这是一种常见的编程语言,用
IBM i (OS/400)
RPG编程环境
2023-11-01 06:52
如何在IBM i (OS/400)运行RPG程序
本文将介绍如何在IBM i (OS/400) 操作系统上运行RPG程序,同时提供一些示例代码和代码释义,以及总结。示例代码以下是一个简单的RPG程序示例: FMyFile IF
7.3
IBM i Access Client Solutions
2023-04-10 00:14