AS400 API 从零到一的整个历程

简单的分享,如果有不一样的见解可以一起讨论

1)AS400上安装对应的577ODG1 这个软件

如果你不知道有没有装,你可以通过

GO LICPGM 这个命令,10 去看到哪些安装的软件

图片

怎么安装具体如下:

1. To install the libraries, run the command go licpgm

图片

2. Select option 11 to install a Licensed Program and install option 39

图片

如果发现有IBM HTTP Server For I

2)启动 HTTP 服务,这是基本要求。

STRTCPSVR *HTTP HTTPSVR(*ADMIN)

192.168.88.249 是AS400 的IP 地址

http://192.168.88.249:2001/HTTPAdmin

如果说你的User没有权限去登录Admin, 需要给User profile *ALLOBJ and *IOSYSCFG的权限去创建服务器

图片

图片

因为Web服务是需要指定对应的user profile但是如果是个人的user profile是有密码过期的这样就会导致你的user 密码过期后面API 服务不能用了。所有要create 一个永久不过期的用户:

CRTUSRPRF USRPRF(IWSREST02) PASSWORD(*NONE)

图片

图片

3)服务器create 成功后接下来就是部署rest API 服务

图片

部署服务的时候可以选择SRVPGM  和 PGM

Produce的形式:

h nomain PGMINFO(∗PCML:∗MODULE)
d ConvertTemp pr
d tempIn 10 const
d tempOut 10
p ConvertTemp b export
d ConvertTemp pi
d tempIn 10 const
d tempOut 10
d tempI s 8P 2
d tempO s 8P 2
d value S 50A
/free
value = %STR(%ADDR(tempIn));
tempI=%DEC(value:7:2);
tempO = (5/9)∗(tempI - 32);
value = %CHAR(tempO);
tempOut = value;
%STR(%ADDR(tempOut):10)=tempOut;
/end-free
p ConvertTemp e

PGM 的形式:

/free
   ctl-opt *debug(yes) PGMINFO(∗PCML:*DCLCASE:∗MODULE);
   dcl-f custpf usage(*update) keyed                        
                         rename(TESTPFR:NEWNAME) USROPN ;
   dcl-s k1cust like(CUBK)  INZ(1);
   dcl-ds w1request INZ qualified;
      customer  char(10);
      customername char(10);
   end-ds W1reqeust;
   
   dcl-pi *n;
   
   // request
   customerds  likeds(w1request);
   //response
   statuscode int(5);
   end-pi;
   exsr sr100;
   eval *INLR = *ON;
   return;'
   // ================================================== 
   begsr SR100; 
       OPEN NEWNAME;
       eval k1cust = w1request.customer;  
       Chain  k1cust   NEWNAME;
       If %found(NEWNAME);
       eval custname =w1request.customername;
       update NEWNAME;
       eval statuscode = 200;
       else;
        eval statuscode = 400;
       endif;
       Close NEWNAME;
   endsr;   
   // ==================================================                       
/end-free

但是记得如果说要让IWS 识别到对应的SRVPGM或者PGM

是需要在 H Spec 定义,不然识别不到

H PGMINFO(∗PCML:∗MODULE)

图片

API服务给到名字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nKNKCH1T-1656494130334)(https://mmbiz.qpic.cn/mmbiz_png/WxKgPiboJnT3CMr74DI8WmNj5DDvcQHnQxwsCAdwevG10PbOdLmcnfDTcsREWcajaX0ic41R7zmibv2Ck1M8bibGdg/640?wx_fmt=png)]

图片

选择对应的方法

图片

加好library list

图片

部署成功

图片

属性显示 基本资源 URL:

http://192.168.88.249:10021/web/services/fto

停 WEB 服务

ENDTCPSVR SERVER(*HTTP) HTTPSVR(IWSREST02)

需要Debug API Job

Subsystem QUSRWRK

Job QZRCSRVS

STRSRVJOB  去然后STRDBG debug 到对应的API 后台QZRCSRVS job,记得SRVPGM 是不可以Debug的,只要部署的时候是Program的时候才可以

GET、POST、PUT、DELETE

GET 和Delete 是只能用Path_Parm 或者query_Parm 是不可以用Body的

图片

说完了部署API 的服务,接下来就是需要对API服务进行SSL 的配置

配置SSL/TLS设置

配置机器使用SSL/TLS可以启用加密通信。这样做有助于防止数据在传输过程中被截获、破解或篡改。

图片

使用自签证书时的配置流程

  1. 创建和安装设备证书:

    IBM 主要是通过 iKeyman

  2. 启用SSL/TLS:

    配置SSL

  3. 重启服务器

    图片

SSL的IBM 的SSL 主要是用iKeyman 生成 密钥:

How do I extract certificates from key databases using the iKeyman utility?

https://www.youtube.com/watch?v=aFUF8KAaMIQ

How do I receive a signed certificate from a certificate authority using the iKeyman utility?

https://www.youtube.com/watch?v=Wq1ftCAow9Y

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Saidywin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值