cancel
Showing results for 
Search instead for 
Did you mean: 

resource.getAbsoluteUrl() problem

Former Member
0 Kudos

resource.getAbsoluteUrl()

../../xxxxxxxxxxxxxxxxxxxx

when i print the path, it is

path:../../local/WebDynProSample/SmsGatewayApp/~wd_key354_1180432121937/MailInbound_Report_Summary?sap.session.download=1&sap-wd-cltwndid=c2741f910dc911dc8d4f0012bf1423ab&sap-wd-appwndid=Idc2741f910dc911dc8d4f0012bf1423ab5c&sap-wd-norefresh=true

when i open the file in browser , i can open the file like this with SERVERNAME

http://servername:50100/webdynpro/dispatcher/local/WebDynProSample/SmsGatewayApp/~wd_key419_11804352...

when i want to open without accessing the servername, which is thru the domain name , i will get null pointer exception

http://www.xxxx.com:50100/webdynpro/dispatcher/local/WebDynProSample/SmsGatewayApp/~wd_key419_118043...



final IWDCachedWebResource resource=WDWebResource.getWebResource(byteMail,WDWebResourceType.XLS);

try { 	
mgr.reportSuccess("path2:" +resource.getAbsoluteURL());
final IWDWindow window = wdComponentAPI.getWindowManager().createExternalWindow(resource.getAbsoluteURL(), "WD_Filedownload", false);
window.open(); 
}catch(Exception e) { 
wdComponentAPI.getMessageManager().reportException(new WDNonFatalException(e), false);
}
} catch (Exception e) {
e.printStackTrace();

Null Pointer Exception

_16##0#0#Error##Plain###Processing HTTP request to servlet [dispatcher] finished with error. The error is: java.lang.NullPointerException

at com.sap.tc.webdynpro.serverimpl.core.url.WebDynproExchangeHandler.initTask(WebDynproExchangeHandler.java:227)

at com.sap.tc.webdynpro.serverimpl.core.url.WebDynproExchangeHandler.doExchange(WebDynproExchangeHandler.java:186)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doExchangeProcessing(DispatcherServlet.java:164)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:119)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

#

#1.5#0012BF1423AB00450000028E0000144400043198E1852F02#1180432595640#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#sap.com/tcwddispwda#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#EMM_TEST#3034##emi45sap_N01_13961350#EMM_TEST#bc34bd000dca11dc85ee0012bf1423ab#SAPEngine_Application_Thread[impl:3]_16##0#0#Error#1#/System/Server/WebRequests#Plain###Processing HTTP request to servlet [dispatcher] finished with error.

The error is: java.lang.NullPointerException: null

Exception id: [0012BF1423AB00450000028C0000144400043198E1852D3F]#

Message was edited by:

yzme yzme

Message was edited by:

yzme yzme

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi ,

Run the WD application by opening it thru domain name.. and use this function..

IWDCachedWebResource file = WDWebResource.getPublicCachedWebResource(bytes,resourceType,WDScopeType.APPLICATION_SCOPE,wdThis.wdGetAPI().getComponent().getDeployableObjectPart(),resourceName);
file.getUrl();

Regards

Bharathwaj

Former Member
0 Kudos

Hi Yzme

The way I use to get dinamic url of resource is:

IResource r = iconsChildren.get(i);

IURLGeneratorService urlgen;

urlgen =(IURLGeneratorService) ResourceFactory.getInstance().getServiceFactory().getService(IServiceTypesConst.URLGENERATOR_SERVICE);

String urlFolder = urlgen.getResourcePageUri(PathKey.CONTENT_ACCESS_PATH, r.getAccessRID(), null).toString();

Hope it will help u.

Nitsan

Former Member
0 Kudos

let me try ...

former_member751941
Active Contributor
0 Kudos

Hi yzme,

You put the url that you want to open.URL should be valid.

String linkToBeOpen = "https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50d74ada-0c01-0010-07a8-8c118d408e59";

IWDWindow window =

wdComponentAPI.getWindowManager().createNonModalExternalWindow(

linkToBeOpen,

"My window title");

window.show();

Regards,

Mithu

Former Member
0 Kudos

the problem is the link is not static

it is dynamically generated

Message was edited by:

yzme yzme