使用apex_web_service.make_rest_request在oracle apex中调用Oracle EBS标准Web服务

问题描述 投票:0回答:1

我试图从Oracle APEX调用EBS REST Web服务'assign_role'。我已经在EBS中部署了这个Web服务并获得了WADL链接。

现在,通过此链接,我可以通过提供以下JSON消息使用Postman工具成功调用Web服务:

{
        "InputParameters": {
            "P_REGISTRATION_DATA": [{
                    "P_REGISTRATION_DATA_ITEM": [{
                            "ATTR_NAME": "requested_for_user_id",
                            "ATTR_VALUE": 4901
                        },
                        {
                            "ATTR_NAME": "wf_role_name",
                            "ATTR_VALUE": "FND_RESP|XXA|CUSTOM_ADFIN|STANDARD"
                        },
                        {
                            "ATTR_NAME": "requested_start_date",
                            "ATTR_VALUE": "2019/01/09 15:00:00"
                        },
                        {
                            "ATTR_NAME": "justification",
                            "ATTR_VALUE": "TEST BRLEBRUYN"
                        }
                    ]
                }
            ]
        }

    }

但是当我试图调用APEX_WEB_SERVICE.make_rest_request进程时,我不确定,我如何提供参数列表(p_parm_name),因为参数是Table类型。 (webservice内部调用标准EBS ORacle包UMX_REGISTRATION_PVT.assign_role)

   apex_web_service.make_rest_request(
          p_url => 'https://ofd.ntwerpen.be/webservices/rest/XXUA_UMX_PUB/assign_role/',
          p_http_method => 'POST',
          **p_parm_name** => apex_util.string_to_table('requested_for_user_id:wf_role_name:requested_start_date:justification'),              
          p_parm_value => apex_util.string_to_table(l_user_id||':'||l_role_name||':'||l_requested_start_date||':'||l_justification));

有人可以帮我写正确的代码来调用这个程序。我相信,如果我能够正确地给出参数名称

    p_parm_name => apex_util.string_to_table('requested_for_user_id:wf_role_name:requested_start_date:justification') 

然后它会正常工作。

请建议。

谢谢

oracle-apex oracle-apps oracle-ebs
1个回答
0
投票

正如您所提到的那样,您通过提供JSON作为输入来使用POST方法调用Web服务。您可以使用要传递的值构造JSON,并将其传递给P_BODY过程的APEX_WEB_SERVICE.MAKE_REST_REQUEST参数。

要构建JSON,可以使用APEX_JSON包。

希望它有效..

© www.soinside.com 2019 - 2024. All rights reserved.