cancel
Showing results for 
Search instead for 
Did you mean: 

Detail navigation does work with HTTPS

Former Member
0 Kudos
51

We have developed our own detail navigation based on the Navigation Tag Library

http://help.sap.com/saphelp_nw70/helpdata/en/42/fd510e2aa95277e10000000a1553f7/frameset.htm

My problem is that it works fine with HTTP but not with HTTPS. The navigation links gets generated with the HTTP protocol rather than the HTTPS protocol. Hence, the user enters the portal by HTTPS but as soon as the user click on the links in the detail navigation the portal switch over to HTTP?

Is there anyone that knows why this behaviour occurs and how to get the links generated as HTTPS urls?

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

The url is outside of your network. If your network is https and the outside information is http, it will show as http for the bowser is getting that information from there.

Infact the browser should be coming up with a warning as such that it is displaying information that is unencrypted.

Former Member
0 Kudos

I think I was not clear about my issue.

This is the case:

We have the same portal for external users (located outside the company network, which access the portal through a proxy) and internal users (access the portal from the company network without proxy and https). When the external user accesses the portal with HTTPS the links in the detail navigation are generated with HTTP and not HTTPS.

The navigation links in the detail navigation gets rendered with the following JSP code:

<A href="<%=componentURI%>?<%=urlParameters%>"

(componentURI which will print out a relative link like /irj/portal/…)

Hence, the problem is with relative links that does not fetch the current “URL MODE” from the browser. Instead it use the <b>Portals</b> “URL MODE”.

If we swoop our own developed detail navigation with the standard navigation we will not have this issue.

Hence it seems that the Navigation Tag Library use the servers URL instead of the used URL (Browser / Proxy URL)

Is there any that knows a work around for this ?

<b>PS</b>. For the KM there is a Global Service "URL Generator Service" where you can configure how the portal should behave with relative URL:s, but I have not been able to find any simular funktionality for the PRT) <b>DS.</b>

Former Member
0 Kudos

Is there a difference if an external user is using it versus an internal user? Or do both have the same issue.

I don't know if I am understanding your problem or not.

Former Member
0 Kudos

The difference is if you access it through the proxy (which apply the HTTP<b>S</b>) the navigation will not work since the navigation URL:s generated are HTTP and not HTTP<b>S</b> links. The navigation will then fail since the proxy does not understand / allow the HTTP request.

Hence, my problem is that: If I run the portal through a reverse proxy that apply HTTP<b>S</b> our own developed detail navigation (based on the standard Navigation Tag Library) will not work since the Navigation target is generated as <b>HTTP</b>

E.g.

<b>https</b>://<HOST>/portal?NavigationTarget=navurl://52022434aec247a1dfe8380bf52cff25

Gets rendred as:

<b>http://</b><HOST>/portal?NavigationTarget=navurl://52022434aec247a1dfe8380bf52cff25

Hence, the problem is that either the Navigation Tag Library / Light Framework does not work with HTTP<b>S</b> (the links always gets rendred as HTTP) or there is some configuration missing somewhere.

Former Member
0 Kudos

Oh, I see.

I do not feel that you have a problem with your code. Your problem is with your reverse proxy.

The request comes in as https, at first it may be fine with the translation. Then when the detailed navigation is called, it is giving a response in http. That will not work with your external users.

To avoid this I have run https for both internal and external users, even my programmers. This way if something custom is created, a protocol mismatch does not happen.

Is there a way for you to use https with everyone or is you locked into this set up?

Former Member
0 Kudos

Exactly ! The request is HTTPS and the response produced is HTTP. So my thought was that if I could find a way to “add” an S into the URL that is included in the response then I would be able to find workaround.

The detail navigation that we have created is just an ordinary abstract portal component that returns a JSP page (which includes the detail navigation tag library). So if I could find a way to switch on SSL on the response object or to retrieve the URL in order to tweak in an “S” then the problem would be solved.

Former Member
0 Kudos

So, let's break this down a bit.

<p>

<p>

<p>

<p>

All of your internal requests are OK. So, is your WAS serving your portal on port 80 or 50000?

<p>

At what point does your communication switch to HTTPS? At the router or at the proxy?

<p>

If everything is on the portal, I am wondering why it is still HTTP. It should be translated over.

Message was edited by:

David J. Rutt

Former Member
0 Kudos

Here maybe part of the problem.

<p>

<p>

Everything works internally OK because the information in the detailed navigation gets its information from the internet via http://help.sap.com. It is just linking the information like a URL iview.

<p>

The problem for the external users is they can not read that link from your code?

Message was edited by:

David J. Rutt

Former Member
0 Kudos

We have made a temporary workaround by some JSP hack

In the detail navigation for folders we add:

<A href='<%=https://<hostname>+ componentURI%>?<%=urlParameters%>'class='lightDTNKnob<% if(nodeIsOpen) { %>Open<% } else { %>Closed<% } 
%>' style='display:block;float:left'/>
For leafs we add:

<A target='_top' href='<%=https://<hostname> + '/irj/portal?NavigationTarget=' + <currentNavNode.getName()> >&<%=urlParameters%>'class='lightDTNText' style='float:left'><nav:navNodeTitle/></A>