on 06-14-2013 1:01 AM
By using WDProtocolAdapter.getProtocolAdapter().getRequestObject().getQueryString() I know that I am receiving 19 key/value pairs from my incoming request object query string but when I parse out the object some of my values return null.
Here is what I get when I read the query string from the request object
{IWDRequest}.getQueryString(); returns the following string (line breaks inserted by me for readability):
sap-ext-sid=vj0Q6dTxY*AY5YiU5VEiHQ--W0J7X2a_D4*kSF6_9L*n*w--
&sap-wd-cltwndid=WID1371162847709
&sap-wd-tstamp=1371162847926
&PagePath=pcd%3Aportal_content%2FSCE%2FCommon_Content%2Fcom.sec.pages%2Fcom.sec.pg.EmpDirectory%2Fcom.sec.ivu.employee_paging
&sap-wd-app-namespace=zzzz
&sap-ep-version=7.31.201211262142
&sap-locale=en_US
&sap-accessibility=
&sap-rtl=
&sap-explanation=null
&sap-cssurl=https%3A%2F%2Fsapportald11.mycompany.com%3A55001%2Fcom.sap.portal.design.urdesigndata%2Fthemes%2Fportal%2Fmy_company_portal_theme%2Fls%2Fls_ie6.css%3Fv%3D7.33.3.12.4
&sap-cssversion=7.33.3.12.0
&sap-epcm-guid=D5F85ABCCCDFE2F2D47E42840FFC3296B4A94E1FA2FA3A86F32FD94DF9A9AC2F
&com.sap.portal.reserved.wd.pb.restart=false
&DynamicParameter=
&NavigationTarget=ROLES%3A%2F%2Fportal_content%2FSEC%2FCommon_Content%2Fcom.sec.pages%2Fcom.sec.pg.EmpDirectory
&NavMode=3
&EmployeeName=USERA
&secid=USERB
Here’s what I get when I parse the request object’s key/pairs using a parameter map method
Map map = {IWDRequest}.getQueryParameterMap(); (or WDProtocolAdapters's getRequestParameterMap(), I tried that too)
Iterator iter = map.keySet().iterator();
while (iter.hasNext())
{
String key = "";
String value = "";
try
{
key = (String) iter.next();
value = WDProtocolAdapter.getProtocolAdapter().getRequestParameter(key);
}
catch(Exception e)
{
key = "error";
value = "error";
}
msgmgr.reportSuccess(key + ": "+ value);
}
sap-epcm-guid: D5F85ABCCCDFE2F2D47E42840FFC3296B4A94E1FA2FA3A86F32FD94DF9A9AC2F
sap-rtl:
PagePath: null
sap-explanation: null
sap-wd-app-namespace: zzzz
sap-ep-version: 7.31.201211262142
NavigationTarget: ROLES://portal_content/SEC/Common_Content/com.sec.pages/com.sec.pg.EmpDirectory
secid: null
sap-cssurl: https://portal.mycompany.com:55001/com.sap.portal.design.urdesigndata/themes/portal/my_company_intra...
sap-ext-sid: vj0Q6dTxY*AY5YiU5VEiHQ--W0J7X2a_D4*kSF6_9L*n*w--/pcd:portal_content/SEC/Common_Content/com.sec.pages/com.sec.pg.EmpDirectory/sec.com/dc~empdirec/EmployeeSrchApp/base/
sap-cssversion: 7.33.3.12.0
NavMode: 3
com.sap.portal.reserved.wd.pb.restart: null
sap-wd-cltwndid: WID1371162847709
sap-locale: en_US
sap-wd-tstamp: 1371162847926
sap-accessibility:
EmployeeName: null
DynamicParameter: null
Where did my values go for EmployeeName and secid? Of course, these are the ones I need.
After days and days of combing SDN, SAP Notes and KBA's, StackOverflow and some questionable expert web sites, both before and after posting this question, I found a hint of a clue in Suresh Krishnamoorthy's response on Mar 14, 2007 to this thread: which simply reminded the author to make sure his iView parameter Parameters to Pass from Page Request ( for URL Isolation) contained an asterisk "*".
Mine was blank.
This iView has been broken for months before it came to me for analysis. Nobody could figure out why it stopped working. We will probably never know if a value ever existed for that property.
Perhaps this is another scenario which demonstrates the need for Portal Developers to have at least Content Administration roles in the Enterprise Portal system they support, even if SOD forbids assignment of other administration roles such as System, User, and Super.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.