cancel
Showing results for 
Search instead for 
Did you mean: 

EP IVIEW for WD4A: HTTPS and POST parameter

Former Member
0 Kudos

Hello expert,
I have to create a Portal IVIEW for WebDynproABAP with the following characteristics:
called from an HTTPS request,
The HTTPS request t
ransfer parameters as a POST request (parameter <UNAME>).

How can i set the HTTPS mode ?
How can i receive the POST parameters and pass them to the WebDynproABAP?

Thanks a lot.

Regards

Accepted Solutions (1)

Accepted Solutions (1)

former_member189631
Active Contributor
0 Kudos

Hi,

This is very much possible. I have mentioned the same scenario in my article, you just have to follow the same steps.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/1093948e-3fcb-2e10-3482-aa828b8ae...

Thanks.

Ram

Former Member
0 Kudos

Hi Ram,

i can't pass the paramater via URL parameters because i need that this data are hidden. In your article, you says "The value of the parameter is dynamically decided by the source application and passed via URL parameters".

I need to pass the parameter to IVIEW Portal ( and after to WebDynpro ABAP) by a HTTPS Request mode POST. How to read this parameter from IVIEW and from WebDynpro ABAP ?

In your article, you use [CUSTOMERID=<Request.CUSTOMERID>]  (see page 5); this mode is available also for POST parameter ? So, in my scenario i should insert [UNAME=<Request.UNAME>] where UNAME is the POST parameter.

Thanks a lot.

Filippo

former_member189631
Active Contributor
0 Kudos

Filippo,

You should pass the parameter from your external application link which calls WDA iView if the parameter is dynamic.

In this case your data will not be visble on the browser link if you are trying to access WD ABAP iView with in the portal.

You just need to keep the parameter  in iView/Page  setting as per the article setting and the logic reading parameter should be inside your WDA.

Thanks.

Ram

Former Member
0 Kudos

Hi Ram,

ok i can test this solution next week.

I have another question in this thread.

Only this IVIEW must call with HTTPS protocol (and no the others IVIEW already used).

I think that i have to create a new system object (with path System Administration -> System Configuration -> System Landscape -> Browse -> Portal Content -> System landscape)?

In this path I see only one record naming “SAP_BW” with "ITS description" and "Web AS description" equal to NZQCLNT010.

In already created IVIEW I see that the property “system” = NZQCLNT010.

So, the system object “SAP_BW” is associated at already created IVIEW (with the property “system” = NZQCLNT010)?

Thanks

Filippo

Former Member
0 Kudos

Hi Ram,

i create the WebDynpro ABAP IVIEW in my Enterprise Portal like you describe in your article.

My parameter is USR. I entered this line in "application parameter":

USR=<Request.USR>

But doesn't work and the preview of IVIEW  shows "Error runtime portal".

Without this line the IVIEW work correctly.

Thanks,

Filippo

former_member189631
Active Contributor
0 Kudos

Fillipo,

You are getting the runtime error as the iView expects a parameter with the name USR from the Request. In the preview window, just add the parameter USR=<name>. You might need to use either &USR=<name> or ?USR=<name> depends upon the preview link.

Thanks.

Ram

Former Member
0 Kudos

Ok, thanks.

But my IVIEW will be called from an another application.

I have created a file.htm for test with this lines:

<HEAD>

</HEAD>

<BODY>

<FORM method=post action=http://xxx.xxx.xxxx:55900/irj/portal/?NavigationTarget=pcd:portal_content/L134/iviewl134_ext&postPar...>

<INPUT value=name@email type=hidden name=usr>

</FORM>

</BODY>

</HTML>

The POST parameter is usr with value name@email.

How to value the field "application parameter" in IVIEW for read dynamically this parameter and send it to web dynpro abap ?

If i execute my file.htm for test and:

  • If i insert USR=Request.usr, in WD i see Request.usr as value for field USR and not name@email.
  • if i insert USR=<Request.usr> i'm getting a runtime error.

Thanks a lot.

Filippo

Former Member
0 Kudos

Hi Ram,

can you check my reply (or

http://scn.sap.com/thread/3366582 ) ?

Thanks,

Filippo

Answers (2)

Answers (2)

namrata_d
Active Participant
0 Kudos

Hi,

To pass parameter to WD ABAP check out property of WD ABAP iview " Application Parameters".

To enable call from HTTPS, your portal server should be set up over HTTPS protocol.check out this link : http://wiki.sdn.sap.com/wiki/display/EP/Converting+http+to+https

Former Member
0 Kudos

Hi,

but "application parameter" are valid also if the iview is called by a https post request ?

Your link is for Java WebDynpro, i use ABAP.

Can you read my reply to Simon.

Thanks a lot.

Filippo

Former Member
0 Kudos

Hi Fillippo,

Have you tried to use the iView template for WebDynpro ABAP applications? I would suggest you do that in the first instance. Using that template you call call the ABAP system over HTTPS (make sure that the system object defined in the portal system landscape uses HTTPS protocol).

http://help.sap.com/saphelp_nw70/helpdata/en/1d/e4a34273f60b31e10000000a1550b0/content.htm

If you have set up SSO to the ABAP system you should not have to pass the UNAME, in the ABAP SY-UNAME should be accessible with the current user.

If you really need to pass the UNAME then I think you can set the application properties of the WDA iView to pass the username.

Hth,

Simon

Former Member
0 Kudos

Hi Simon,

when you write "make sure that the system object definied in the portal SLD uses HTTPS protocol", where can i check this ?

The UNAME is not the Sap's user  but a parameter that identifies a vendor.

If i insert in the application parameter of IVIEW the parameter UNAME:

how to build the link for call the iview ? http://server:port/irl/portal/iview .... and then ?

how to read this parameter in Web Dynpro ABAP ?

Thanks,

Filippo

Former Member
0 Kudos

Hi Filippo,

To answer your first question. You maintain the systems in the portal system landscape under System Administration --> System Landscape (you need a portal admin user). Find your system object (the one that you reference in the iView property "system"). In that system definition is where you set the connection settings for the connection to the ABAP system. Look for WEB AS and make sure you use protocol HTTPS.

The iView will build the URL itself, you only need to call the iView. Is the UNAME dynamic or static? Do you need to pass the UNAME into the iView or can you manually set UNAME=Vendor in the application parameter of the iView property?

As far as reading the parameter then in the WDA app you should take a look at the help guide here:

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/7b/fb57412df8091de10000000a155106/content.htm

Basically I think you need to define the parameter in the settings of the Web Dynpro, then the framework makes it available for you to use in your application. More info here:

http://wiki.sdn.sap.com/wiki/display/WDABAP/How+to+read+URL+parameters+in+Web+Dynpro+for+ABAP

Hth,

Simon

Former Member
0 Kudos

Hi Simon,

first thanks for your support !

I try to maintain the system object (with path System Administration -> System Configuration -> System Landscape -> Browse -> Portal Content -> System landscape) but the ONLY existing system is named SAP_BW with "ITS description" and "Web AS description" equal to NZQCLNT010.  In my IVIEW for Web Dynpro I found in property "system" = NZQCLNT010.

                Is this ??

                I should modify "Web AS Protocol" , and set it to HTTPS ?

                But if I would change the protocol to HTTPS ONLY for my IVIEW and not for the other IVIEW that already used ! is possible ?

For IVIEW parameter, the UNAME is dynamic (each vendor call the IVIEW with own USER...); I need pass the UNAME in the IVIEW by link (and after in WebDynpro).

Thanks a lot,

Filippo

Former Member
0 Kudos

Hi Filippo,

So if you change the system definition it will effect all iViews that use that system. If you only want it to effect your iView then you should copy that system definition and assign it a new alias, then use that alias in the system property of your iView. When you change the protocol to HTTPS, then you also need to consider what port to use (e.g. it can be that HTTP runs on port 8000 but HTTPS is on port 8443 or 8001 or something else). You should check with your system admin (BASIS) person to get the right port number.

So you want the UNAME to basically just pass through the iView? I am not sure if the WDA iView template has this, but I seem to remember a property in the iView that lets you state which parameters should be passed though directly.... I will need to have a look tomorrow when I get back to my portal and get back to you.

Hth,
Simon