/** Tente de se connecter au webService. */ public void connect() throws Exception { // Appeler une m�thode de base pour cr�er une session distante Object[] wsArgs = {applicationAlias, wsPassword}; wsClient.invoke(wsName, "connect", wsArgs); // V�rifier s'il y a eu des erreurs throwLastWsException(); // M�moriser la session mySessionInfo = wsClient.sessionInfoForServiceNamed(wsName); isConnected = true; }
/** * Se d�connecter du Webservice (� appeler �ventuellement lorsque toutes les op�rations sont * effectu�es). Cette action supprime la session sur le serveur. * * @throws Exception */ public void deconnect() throws Exception { if (!isConnected()) { throw new Exception( "La connexion au service" + wsName + " n'est pas active. Impossible de se d�connecter."); } wsClient.invoke(wsName, "deconnect", null); throwLastWsException(); setConnected(false); }
/** * V�rifie que le WebService poss?de les op�rations requises � l'utilisation de ce client. * * @throws Exception */ private void checkWSRequirements() throws Exception { NSDictionary dic = wsClient.operationsDictionaryForService(wsName); for (int i = 0; i < requiredOperations().length; i++) { String string = requiredOperations()[i]; if (dic.valueForKey(string) == null) { throw new Exception( "L'operation " + string + " n'est pas d�finie pour le WebService " + wsName + ". Votre classe d'invocation ne peut pas h�riter de ZWSInvocator."); } } }
/** * Equivaut � wsClient.invoke(getWsName(),operationName,args); * * @param operationName * @param args * @return */ public Object wsInvoke(String operationName, Object[] args) { return wsClient.invoke(getWsName(), operationName, args); }
/** R�cup?re le message de la derni?re exception g�n�r�e par le webService. */ protected void throwLastWsException() throws Exception { String s = (String) wsClient.invoke(wsName, "getLastExceptionMessage", null); if (s != null) { throw new Exception("[" + wsName + "] " + s); } }