Hi,
I think the problem is that ths SSO header is not added to security protocol when calling the web service. You can try this to add the ticket before calling the ws:
serviceImpl service = WebServiceModel.getServiceImpl();
yourServiceViDocument logicalPort = (yourServiceViDocument) service.getLogicalPort("Config1Port_Document" , yourServiceViDocument.class );
BaseGeneratedStub stubForLogicalPort = (BaseGeneratedStub) logicalPort ;
SecurityProtocol securityProtocol = (SecurityProtocol) stubForLogicalPort._getGlobalProtocols().getProtocol("SecurityProtocol");
securityProtocol.addHeader("Cookie","MYSAPSSO2="getSSOTicket()";");
private String getSSOTicket() {
IWDMessageManager msgMgr = wdThis.wdGetAPI().getComponent().getMessageManager();
try {
HttpServletRequest req = TaskBinder.getCurrentTask().getWebContextAdapter().getHttpServletRequest();
if (req != null)
return SSOSession.getSSOTicket(req);
else
return"";
} catch (Exception e) {
msgMgr.reportException(e.getLocalizedMessage(), true);
return "";
}
}
Add comment