cancel
Showing results for 
Search instead for 
Did you mean: 

Mobile WebDynpro - problem with Link to url

Former Member
0 Kudos

Hi all,

we use for our application a mobile a psion teklogix 7535 with

Windows 2003 mobile .net version 4.20 that has capability

to render WebDynpro as IE 6.0 (so layout is full WebDynpro

compliant).

Unfortunately the performance is very poor so we want to

force rendering using sap-wd-client=PieClient. This is

work well, but using Exit Plug in Interface View cause a

wrong url.

This is a full examples:

We launch application1 with http:http://host:50000/WebDynpro/dispatcher/local/Prj1/App1?sap-wd-client=PieClient

The application1 has exit Plug and we call it using

String url = WDURLGenerator.getApplicationUrl("local/Prj2","App2");

// now url contains http://host:50000/WebDynpro/dispatcher/local/Prj2/App2

wdThis.wdGetMenuInterfaceViewController().wdFirePlugGotoUrl(url);

After this i'm expecting that url is

http://host:50000/WebDynpro/dispatcher/local/Prj2/App2

or

http://host:50000/WebDynpro/dispatcher/local/Prj2/App2?sap-wd-client=PieClient

but the url generated is

http://host:50000/WebDynpro/dispatcher/local/Prj2/App2?&sap-wd-cltwndid=9c&sap-wd-appwndid=Id9c9e&sa...;

and was raise error saying

The Web Dynpro Application 'HuCreate' has expired. Please restart the application either with the refresh button or click the following link HuCreate.

Details: No details available

If I remove manually the two parameters from url

sap-wd-cltwndid=...

sap-wd-appwndid=...

the application start well.

The question is:

How can I force url to be generated correctly? or Where is my error?

Thanks in advance to all

Emmanuele Prudenzano

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

I've fix with a workarround using external jsp page shown below. This page clear the extra wrong paramiter sap-* except for sap-wd-client. This wa works well but is not the final solution.

-


WasRedirect

<!--

(c) 2005 by Emmanuele ^Wolf^ Prudenzano

Syn s.p.a.

Posizionare in /usr/sap/<INST>/JC01/j2ee/cluster/server0/apps/sap.com/com.sap.engine.docs.examples/servlet_jsp/_default/root

testare con

http://itcnomts01:50000/WasRedirect.jsp?debug=si&url=<webDynproApplication>;

Change WebDynpro with

url = "/WasRedirect.jsp?"+url.replace('?','&').replaceAll(" ","%20").replaceAll(">","%3E");

-->

<html>

<head>

<meta http-equiv="Pragma" content="no-cache">

<title>Sap Enterprise Portal Redirect</title>

<body>

<%@ page import="java.lang.String" %>

<%

// check if url is supplied

String url = "/webdynpro/dispatcher/local/AZNet_menu/AZNet_menu";

if ( request.getParameter( "url" ) != null ) {

// show error call

url = request.getParameter( "url" ) ;

}

boolean debug = false;

if ( request.getParameter( "debug" ) != null ) {

debug = true;

}

// debug = true;

if ( debug ) {

%>

Redirect in process... to <%= url %><br>

<%

}

%>

<form name=formRedirect action="<%= url %>" method="GET">

<%

Enumeration e = request.getParameterNames();

while (e.hasMoreElements()) {

String key = (String)e.nextElement();

String value = request.getParameter(key);

if ( key.startsWith("app.") || key.equals("sap-wd-client" ) ) {

%><input type="hidden" name="<%= key %>" value="<%= value %>"><%

if (debug) {

out.println(key":"value+"<br>");

}

} else {

if ( debug ) {

out.println("SKIP:"key":"value"<br>");

}

}

}

if ( debug ) { %>

<input type=submit>

<% }

%>

</form>

<%

if ( ! debug ) {

%>

<script>

formRedirect.submit()

</script>

<%

}

%>

-


Emmanuele Prudenzano

Former Member
0 Kudos

No... i'm sorry... this is not a good solution. url grows with too many parameters.... soo after some recursive call (A call B, B call A, A call B) the url becomes too big....

Emmanuele

Former Member
0 Kudos

I Found a workarround that work very well.

I added the two param

sap-wd-cltwndid=...

sap-wd-appwndid=...

in url using

String url = WDURLGenerator.getApplicationUrl("local/Prj2","App2")+"sap-wd-cltwndid=&sap-wd-appwndid=";

// now url contains http://host:50000/WebDynpro/dispatcher/local/Prj2/App2

wdThis.wdGetMenuInterfaceViewController?sap-wd-cltwndid=&sap-wd-appwndid=().wdFirePlugGotoUrl(url);

and all works well!

Former Member
0 Kudos

Open an OSS message.

Armin