My Oracle Support Banner

API_NOTIFY_APS_INTEGRATION FAILED NOTIFICATION URL HAS EXTRA / (Doc ID 2088243.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle Demantra Demand Management - Version 12.2.4 and later
Information in this document applies to any platform.

Symptoms

The API_NOTIFY_APS_INTEGRATION and the db_exception_log shows the following error

10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION URL "http://xxxxx.xxxx.xxxxx:0000/demantra//NotificationServlet?NotificationType=8&UAK=D3DC8DA5BC29C291E093C27088341772BFA36C24&Action=modify&TransferId=497&ProfileId=461&ProfileType=1
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION Status                         : FAILED
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION Result                         :
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION Server                         : http://xxxxx.xxxx.xxxxx:0000/demantra
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION Parameter                      : AppServerIntegrationServlet
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION Integration Error : AppServ Notification for Profile ID [461] Failed. Return value []
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION URL                            : http://xxxxx.xxxx.xxxxx:0000/demantra//NotificationServlet?NotificationType=8&UAK=D3DC8DA5BC29C291E093C27088341772BFA36C24&Action=modify&TransferId=497&ProfileId=461&ProfileType=1
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION -29273 ORA-29273: HTTP request failed
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION Status                         : FAILED
10/13/2015 21:07 API_NOTIFY_APS_INTEGRATION Result                         : NULL

It fails because demantra standard package generates wrong URL which contains '//' character


http://xxxxx.xxxx.xxxxx:0000/demantra//NotificationServlet?NotificationType=8&UAK=D3DC8DA5BC29C291E093C27088341772BFA36C24&Action=modify&TransferId=497&ProfileId=461&ProfileType=1


The above notification URL has an extra / as below

http://xxxxx.xxxx.xxxxx:0000/demantra//NotificationServle

The issue is in following logic in notify procedure in Demantra schema.
The notify procedure adds a '/' in front of servlet string. If servlet
includes '/', then URL will has '//' which causes error.
------------------------------------------------------------------------------


           IF INSTR( vs_servlet , 'UAK=' ) > 0 THEN

            
/*****************************************************************************/
              /* Notification type with UAK
            
/*****************************************************************************/
              vs_url  := vs_server ||'/'|| vs_servlet || vs_uak ||
is_content;

           ELSE
            
/*****************************************************************************/
              /* Notification type without UAK
              /* eg
              /*    Start WF where contents contains the WF name user name
@ and encrypted password
              /*
            
/*****************************************************************************/
              vs_url  := vs_server ||'/'|| vs_servlet || is_content;

           END IF;




If we modify the notify procedure to not to add extra '/' in the http URL the after HTTP URL is in  correct format.

Before change:
http://xxx.xxxx.xxxx:0000/demantra//NotificationServlet?NotificationType=17&UAK=D3DC8DA5BC29C291E093C27088341772BFA36C24&LevelID=362&LUD=11-04-2015-08-11-15.

After change:
http://xxx.xxxx.xxxx:0000/demantra/NotificationServlet?NotificationType=17&UAK=D3DC8DA5BC29C291E093C27088341772BFA36C24&LevelID=362&LUD=11-04-2015-08-11-15

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.