List of usage examples for javax.xml.ws WebServiceException getMessage
public String getMessage()
From source file:org.pentaho.di.repository.pur.PurRepositoryConnector.java
public synchronized RepositoryConnectResult connect(final String username, final String password) throws KettleException, KettleSecurityException { if (serviceManager != null) { disconnect();//from w w w . jav a 2 s . co m } serviceManager = new WebServiceManager(repositoryMeta.getRepositoryLocation().getUrl(), username); RepositoryServiceRegistry purRepositoryServiceRegistry = new RepositoryServiceRegistry(); IUser user1 = new EEUserInfo(); final String decryptedPassword = Encr.decryptPasswordOptionallyEncrypted(password); final RepositoryConnectResult result = new RepositoryConnectResult(purRepositoryServiceRegistry); try { /* * Three scenarios: 1. Connect in process: username fetched using PentahoSessionHolder; no authentication occurs * 2. Connect externally with trust: username specified is assumed authenticated if IP of calling code is trusted * 3. Connect externally: authentication occurs normally (i.e. password is checked) */ user1.setLogin(username); user1.setPassword(decryptedPassword); user1.setName(username); result.setUser(user1); // We need to have the application context and the session available in order for us to skip authentication if (PentahoSystem.getApplicationContext() != null && PentahoSessionHolder.getSession() != null && PentahoSessionHolder.getSession().isAuthenticated()) { if (inProcess()) { // connect to the IUnifiedRepository through PentahoSystem // this assumes we're running in a BI Platform result.setUnifiedRepository(PentahoSystem.get(IUnifiedRepository.class)); if (result.getUnifiedRepository() != null) { if (log.isDebug()) { log.logDebug("begin connectInProcess()"); } String name = PentahoSessionHolder.getSession().getName(); user1 = new EEUserInfo(); user1.setLogin(name); user1.setName(name); user1.setPassword(decryptedPassword); result.setUser(user1); result.setSuccess(true); if (log.isDebug()) { log.logDebug("connected in process as '" + name + "' pur repository = " + result.getUnifiedRepository()); } // for now, there is no need to support the security manager // what about security provider? return result; } } } ExecutorService executor = ExecutorUtil.getExecutor(); Future<Boolean> authorizationWebserviceFuture = executor.submit(new Callable<Boolean>() { @Override public Boolean call() throws Exception { // We need to add the service class in the list in the order of dependencies // IRoleSupportSecurityManager depends RepositorySecurityManager to be present if (log.isBasic()) { log.logBasic( BaseMessages.getString(PKG, "PurRepositoryConnector.CreateServiceProvider.Start")); } result.setSecurityProvider(new AbsSecurityProvider(purRepository, repositoryMeta, result.getUser(), serviceManager)); if (log.isBasic()) { log.logBasic( BaseMessages.getString(PKG, "PurRepositoryConnector.CreateServiceProvider.End")); //$NON-NLS-1$ } // If the user does not have access to administer security we do not // need to added them to the service list if (allowedActionsContains((AbsSecurityProvider) result.getSecurityProvider(), IAbsSecurityProvider.ADMINISTER_SECURITY_ACTION)) { result.setSecurityManager(new AbsSecurityManager(purRepository, repositoryMeta, result.getUser(), serviceManager)); // Set the reference of the security manager to security provider for user role list change event ((PurRepositorySecurityProvider) result.getSecurityProvider()).setUserRoleDelegate( ((PurRepositorySecurityManager) result.getSecurityManager()).getUserRoleDelegate()); return true; } return false; } }); Future<WebServiceException> repoWebServiceFuture = executor.submit(new Callable<WebServiceException>() { @Override public WebServiceException call() throws Exception { try { IUnifiedRepositoryJaxwsWebService repoWebService = null; if (log.isBasic()) { log.logBasic(BaseMessages.getString(PKG, "PurRepositoryConnector.CreateRepositoryWebService.Start")); //$NON-NLS-1$ } repoWebService = serviceManager.createService(username, decryptedPassword, IUnifiedRepositoryJaxwsWebService.class); //$NON-NLS-1$ if (log.isBasic()) { log.logBasic(BaseMessages.getString(PKG, "PurRepositoryConnector.CreateRepositoryWebService.End")); //$NON-NLS-1$ } if (log.isBasic()) { log.logBasic(BaseMessages.getString(PKG, "PurRepositoryConnector.CreateUnifiedRepositoryToWebServiceAdapter.Start")); //$NON-NLS-1$ } result.setUnifiedRepository(new UnifiedRepositoryToWebServiceAdapter(repoWebService)); } catch (WebServiceException wse) { return wse; } return null; } }); Future<Exception> syncWebserviceFuture = executor.submit(new Callable<Exception>() { @Override public Exception call() throws Exception { try { if (log.isBasic()) { log.logBasic(BaseMessages.getString(PKG, "PurRepositoryConnector.CreateRepositorySyncWebService.Start")); } IRepositorySyncWebService syncWebService = serviceManager.createService(username, decryptedPassword, IRepositorySyncWebService.class); //$NON-NLS-1$ if (log.isBasic()) { log.logBasic(BaseMessages.getString(PKG, "PurRepositoryConnector.CreateRepositorySyncWebService.Sync")); //$NON-NLS-1$ } syncWebService.sync(repositoryMeta.getName(), repositoryMeta.getRepositoryLocation().getUrl()); } catch (RepositorySyncException e) { log.logError(e.getMessage(), e); // this message will be presented to the user in spoon result.setConnectMessage(e.getMessage()); return null; } catch (ClientTransportException e) { // caused by authentication errors, etc return e; } catch (WebServiceException e) { // if we can speak to the repository okay but not the sync service, assume we're talking to a BA Server log.logError(e.getMessage(), e); return new Exception(BaseMessages.getString(PKG, "PurRepository.BAServerLogin.Message"), e); } return null; } }); WebServiceException repoException = repoWebServiceFuture.get(); if (repoException != null) { log.logError(repoException.getMessage()); throw new Exception(BaseMessages.getString(PKG, "PurRepository.FailedLogin.Message"), repoException); } Exception syncException = syncWebserviceFuture.get(); if (syncException != null) { throw syncException; } Boolean isAdmin = authorizationWebserviceFuture.get(); if (log.isBasic()) { log.logBasic(BaseMessages.getString(PKG, "PurRepositoryConnector.RegisterSecurityProvider.Start")); } purRepositoryServiceRegistry.registerService(RepositorySecurityProvider.class, result.getSecurityProvider()); purRepositoryServiceRegistry.registerService(IAbsSecurityProvider.class, result.getSecurityProvider()); if (isAdmin) { purRepositoryServiceRegistry.registerService(RepositorySecurityManager.class, result.getSecurityManager()); purRepositoryServiceRegistry.registerService(IRoleSupportSecurityManager.class, result.getSecurityManager()); purRepositoryServiceRegistry.registerService(IAbsSecurityManager.class, result.getSecurityManager()); } purRepositoryServiceRegistry.registerService( PurRepositoryRestService.PurRepositoryPluginApiRevision.class, serviceManager.createService(username, decryptedPassword, PurRepositoryRestService.PurRepositoryPluginApiRevision.class)); purRepositoryServiceRegistry.registerService(IRevisionService.class, new UnifiedRepositoryRevisionService(result.getUnifiedRepository(), rootRef)); purRepositoryServiceRegistry.registerService(IAclService.class, new UnifiedRepositoryConnectionAclService(result.getUnifiedRepository())); purRepositoryServiceRegistry.registerService(IConnectionAclService.class, new UnifiedRepositoryConnectionAclService(result.getUnifiedRepository())); purRepositoryServiceRegistry.registerService(ITrashService.class, new UnifiedRepositoryTrashService(result.getUnifiedRepository(), rootRef)); purRepositoryServiceRegistry.registerService(ILockService.class, new UnifiedRepositoryLockService(result.getUnifiedRepository())); if (log.isBasic()) { log.logBasic( BaseMessages.getString(PKG, "PurRepositoryConnector.RepositoryServicesRegistered.End")); } result.setSuccess(true); } catch (NullPointerException npe) { result.setSuccess(false); throw new KettleException(BaseMessages.getString(PKG, "PurRepository.LoginException.Message")); } catch (Throwable e) { result.setSuccess(false); serviceManager.close(); throw new KettleException(e); } return result; }
From source file:org.talend.mdm.repository.ui.editors.MDMServiceConfigrationMainPage.java
@Override protected void setForConfigureContent(String serviceName) { try {/*w w w . j a v a 2s . c o m*/ if (serviceName != null && !"".equals(serviceName)) {//$NON-NLS-1$ document = getServiceDocument(serviceName.trim()); XObjectEditorInput2 editorInput = (XObjectEditorInput2) getEditorInput(); MDMServerObjectItem serverObjectItem = (MDMServerObjectItem) editorInput.getInputItem(); MDMServerObject serverObject = serverObjectItem.getMDMServerObject(); String configContent = null; if (serverObject instanceof WSServiceConfigurationE) { WSServiceConfigurationE object = (WSServiceConfigurationE) serverObject; for (WSServicePutConfigurationE config : object.getServicePutConfigurations()) { if (config.getJndiName().equals(serviceName.trim())) { configContent = config.getConfiguration(); } } } serviceConfigurationsText.setText(configContent); errorLabel.setText("");//$NON-NLS-1$ } } catch (WebServiceException e1) { log.error(e1.getMessage(), e1); } }
From source file:org.talend.mdm.repository.ui.editors.MDMServiceConfigrationMainPage.java
@Override protected String getDoc() { WSServiceGetDocument document = null; try {/*from ww w .ja va 2 s . com*/ document = getServiceDocument(serviceNameCombo.getText().trim()); } catch (WebServiceException e) { log.error(e.getMessage(), e); } String doc = document.getDocument(); return doc; }
From source file:org.talend.mdm.repository.ui.editors.MDMServiceConfigrationMainPage.java
@Override protected String getDesc() { WSServiceGetDocument document = null; try {//from ww w.ja va2s .c om document = getServiceDocument(serviceNameCombo.getText().trim()); } catch (WebServiceException e) { log.error(e.getMessage(), e); } String desc = document.getDescription(); return desc; }
From source file:org.talend.mdm.repository.ui.widgets.RepositoryViewObjectCheckedWidget.java
private synchronized ConsistencyData getConsistencyData(MDMServerDef serverDef, IRepositoryViewObject viewObj) { if (!isServerOk) { return null; }//from www .j a va 2 s. c o m ConsistencyData consistencyData = consistencyMap.get(viewObj); if (consistencyData != null) { return consistencyData; } try { ConsistencyService consistencyService = ConsistencyService.getInstance(); consistencyData = new ConsistencyData(); ERepositoryObjectType viewType = viewObj.getRepositoryObjectType(); if (viewType == null) { return null; } if (viewType == IServerObjectRepositoryType.TYPE_RESOURCE || viewType == IServerObjectRepositoryType.TYPE_JOB || viewType == IServerObjectRepositoryType.TYPE_WORKFLOW) { consistencyData.setCompareResult(CompareResultEnum.NOT_SUPPORT); } else { List<IRepositoryViewObject> viewObjs = new ArrayList<IRepositoryViewObject>(); viewObjs.add(viewObj); Map<IRepositoryViewObject, WSDigest> digestValueResult = consistencyService .queryServerDigestValue(serverDef, viewObjs); WSDigest serverDigestTime = digestValueResult.get(viewObj); consistencyData.setServerDigestTime(serverDigestTime); consistencyService.updateCurrentDigestValue(viewObj); Item item = viewObj.getProperty().getItem(); String ld = consistencyService.getLocalDigestValue(item); String cd = consistencyService.getCurrentDigestValue(item); long localTimestamp = consistencyService.getLocalTimestamp(item); // key String type = viewObj.getRepositoryObjectType().getKey(); String objectName = viewObj.getLabel(); WSDigestKey key = new WSDigestKey(objectName, type); consistencyData.setLocalDigestTime(new WSDigest(ld, localTimestamp, key)); // init compare result; CompareResultEnum result; if (serverDigestTime == null || serverDigestTime.getDigestValue() == null) { result = CompareResultEnum.NOT_EXIST_IN_SERVER; } else { String rd = serverDigestTime.getDigestValue(); result = consistencyService.getCompareResult(cd, ld, rd); } consistencyData.setCompareResult(result); } consistencyMap.put(viewObj, consistencyData); } catch (WebServiceException e) { log.error(e.getMessage(), e); } catch (XtentisException e) { log.error(e.getMessage(), e); } return consistencyData; }