svc.setHandle(svc.getHandle());
svc.setHandle(svc.getResp_object());
	public void iscServiceAttach(String service, IscSvcHandle serviceHandle,			ServiceParameterBuffer serviceParameterBuffer) throws GDSException {		boolean debug = log != null && log.isDebugEnabled();		isc_svc_handle_impl svc = (isc_svc_handle_impl) serviceHandle;		if (svc == null) {			throw new GDSException(ISCConstants.isc_bad_svc_handle);		}		String serviceMgrStr = "service_mgr";		int mgrIndex = service.indexOf(serviceMgrStr);		if (mgrIndex == -1				|| mgrIndex + serviceMgrStr.length() != service.length())			throw new GDSException(ISCConstants.isc_arg_gds,					ISCConstants.isc_svcnotdef, service);		String server = service.substring(0, mgrIndex - 1);		int port = 3050;		String host = server;		int portIndex = server.indexOf('/');		if (portIndex != -1) {			try {				port = Integer.parseInt(server.substring(portIndex + 1));				host = server.substring(0, portIndex);			} catch (NumberFormatException ex) {				// ignore, nothing happened, we try to connect directly			}		}		synchronized (svc) {			try {				try {					svc.socket = new Socket(host, port);					svc.socket.setTcpNoDelay(true);					// if (socketBufferSize != -1) {					// svc.socket.setReceiveBufferSize(socketBufferSize);					// svc.socket.setSendBufferSize(socketBufferSize);					// }					if (debug)						log.debug("Got socket");				} catch (UnknownHostException ex2) {					String message = "Cannot resolve host " + host;					if (debug)						log.error(message, ex2);					throw new GDSException(ISCConstants.isc_arg_gds,							ISCConstants.isc_network_error, host);				}				svc.out = new XdrOutputStream(svc.socket.getOutputStream());				svc.in = new XdrInputStream(svc.socket.getInputStream());				if (debug)					log.debug("op_service_attach ");				svc.out.writeInt(op_service_attach);				svc.out.writeInt(0);				svc.out.writeString(host + ":" + serviceMgrStr);				svc.out.writeTyped(ISCConstants.isc_spb_version,						(Xdrable) serviceParameterBuffer);				svc.out.flush();				if (debug)					log.debug("sent");				try {					receiveResponse(svc, -1);					svc.setHandle(svc.getHandle());				} catch (GDSException ge) {					if (log != null)						log.debug("About to invalidate db handle");					svc.invalidate();					if (log != null)						log.debug("successfully invalidated db handle");					throw ge;				}			} catch (IOException ex) {				throw new GDSException(ISCConstants.isc_net_write_err);			}		}	}