关于使用DFHLS2JS生成CICS服务提供者WSDL时的路径设置问题
使用DFHLS2JS生成CICS服务提供者WSDL时的路径设置问题
我来帮你理清楚这个问题——首先得明确一个关键点:DFHLS2JS本身是针对RESTful服务(基于JSON)的工具,默认不会生成WSDL文件,WSDL是SOAP服务的标准描述文档,和REST服务的生态逻辑不太一样。结合你的需求,我分两种场景给你详细解释:
场景1:你其实需要的是REST服务的JSON Schema/OpenAPI文档(而非WSDL)
DFHLS2JS的核心作用是把CICS程序的COBOL/PL/I数据结构转换成JSON Schema,同时生成CICS运行时需要的绑定文件(.bind)。这些文件的输出路径是可以控制的:
- 如果你没指定任何路径参数,生成的
.json(Schema文件)和.bind(绑定文件)会默认输出到你运行DFHLS2JS命令的当前工作目录,你可以用Unix的pwd命令快速查看当前所在目录。 - 如果你想指定自定义输出路径,只需要在命令里加上
-o参数,比如:
这样所有生成的文件就会被放到dfhls2js -i your_program.cbl -o /home/youruser/cics_output -n your_service_name/home/youruser/cics_output这个目录下。
至于REST服务的API描述文档(类似WSDL的作用),DFHLS2JS不会直接生成,你需要把生成的绑定文件部署到CICS后,通过配置URIMAP等资源,让CICS自动生成OpenAPI文档,这些文档的访问路径由你的CICS配置决定。
场景2:你确实需要生成WSDL(用于SOAP服务)
如果你的目标是把CICS程序暴露成SOAP服务并生成WSDL,那你应该用CICS的另一个工具DFHLS2WS(专门针对SOAP服务场景),而不是DFHLS2JS。同样,它的输出路径可以用-o参数指定:
dfhls2ws -i your_program.cbl -o /home/youruser/cics_wsdl -n your_soap_service
执行这个命令后,WSDL文件就会生成在你指定的/home/youruser/cics_wsdl目录下;如果没加-o参数,就会默认输出到当前工作目录。
最后提醒一句:在Unix上运行这些工具时,要确保你对目标输出目录有写入权限,否则会抛出权限错误哦。
备注:内容来源于stack exchange,提问作者Nupur
相关产品推荐
相关产品推荐

