diff --git a/src/python/dm/daq_web_service/api/experimentRestApi.py b/src/python/dm/daq_web_service/api/experimentRestApi.py
index cbdc2dc681ebe8f852c9c74cdc7c3be8f01d057e..f6cca3a4e9c5b19d5db5b209a8b61fdacc9aaaa2 100755
--- a/src/python/dm/daq_web_service/api/experimentRestApi.py
+++ b/src/python/dm/daq_web_service/api/experimentRestApi.py
@@ -23,9 +23,10 @@ class ExperimentRestApi(DaqRestApi):
             raise InvalidRequest('Experiment data directory must be provided.')
         daqInfo['experimentName'] = experimentName
         daqInfo['dataDirectory'] = dataDirectory
-        print json.dumps(daqInfo)
-        url += '?experimentName=%s' % experimentName
-        url += '&dataDirectory=%s' % dataDirectory
+        #print json.dumps(daqInfo)
+        url += '?experimentName=%s' % Encoder.encode(experimentName)
+        url += '&dataDirectory=%s' % Encoder.encode(dataDirectory)
+        url += '&daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
         responseDict = self.sendSessionRequest(url=url, method='POST')
         return Experiment(responseDict)
 
diff --git a/src/python/dm/daq_web_service/service/experimentSessionController.py b/src/python/dm/daq_web_service/service/experimentSessionController.py
index 7139e3d0f4def18916f4890172e103b1449f348a..5e348959f2d0d12e2a5802298c2e4ebb53f865b3 100755
--- a/src/python/dm/daq_web_service/service/experimentSessionController.py
+++ b/src/python/dm/daq_web_service/service/experimentSessionController.py
@@ -23,10 +23,15 @@ class ExperimentSessionController(DmSessionController):
 	experimentName = kwargs.get('experimentName')
 	if experimentName is None or not len(experimentName):
 	    raise InvalidRequest('Missing experiment name.')
+        experimentName = Encoder.decode(experimentName)
 	dataDirectory = kwargs.get('dataDirectory')
 	if dataDirectory is None or not len(dataDirectory):
 	    raise InvalidRequest('Missing data directory.')
-        response = self.experimentSessionControllerImpl.startDaq(experimentName, dataDirectory).getFullJsonRep()
+        dataDirectory = Encoder.decode(dataDirectory)
+        daqInfo = kwargs.get('daqInfo')
+        if daqInfo is not None:
+            daqInfo = Encoder.decode(daqInfo)
+        response = self.experimentSessionControllerImpl.startDaq(experimentName, dataDirectory, daqInfo).getFullJsonRep()
         self.logger.debug('Returning: %s' % response)
         return response
 
diff --git a/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py b/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py
index 99ee8d3679fa102b1069287c14a239316c7ecf36..1c73e3aa291ba5d2c33d4ceb04b154e5bcddb9be 100755
--- a/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py
+++ b/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py
@@ -23,10 +23,11 @@ class ExperimentSessionControllerImpl(DmObjectManager):
         DmObjectManager.__init__(self)
         self.dsExperimentApi = DsRestApiFactory.getExperimentRestApi()
 
-    def startDaq(self, experimentName, dataDirectory):
-        daqInfo={}
-	daqInfo['experimentName'] = experimentName
-	daqInfo['dataDirectory'] = dataDirectory
+    def startDaq(self, experimentName, dataDirectory, daqInfo):
+        if daqInfo is None:
+           daqInfo={}
+	   daqInfo['experimentName'] = experimentName
+	   daqInfo['dataDirectory'] = dataDirectory
         experiment = ExperimentTracker.getInstance().get(experimentName)
         if experiment is not None:
             oldDaqInfo = experiment.get('daqInfo')
diff --git a/tools/ExperimentSynchronizer/src/gov/anl/dm/esafsync/serviceconn/DaqServiceConnection.java b/tools/ExperimentSynchronizer/src/gov/anl/dm/esafsync/serviceconn/DaqServiceConnection.java
index bc62267f1a2bc0357b5ffa3856a4060b6cd50751..2e0962770362501f9263a1fffcb4f9cd05e960e5 100644
--- a/tools/ExperimentSynchronizer/src/gov/anl/dm/esafsync/serviceconn/DaqServiceConnection.java
+++ b/tools/ExperimentSynchronizer/src/gov/anl/dm/esafsync/serviceconn/DaqServiceConnection.java
@@ -40,8 +40,8 @@ public class DaqServiceConnection extends ServiceConnection{
 		}
 		
     	Map<String, String> data = new HashMap<>();
-    	data.put(Keyword.DAQ_EXPERIMENT_NAME, experimentName);
-    	data.put(Keyword.DAQ_DATA_DIRECTORY, directory);
+    	data.put(Keyword.DAQ_EXPERIMENT_NAME, encode(experimentName));
+    	data.put(Keyword.DAQ_DATA_DIRECTORY, encode(directory));
 
     	if ((new File(dataDir)).exists()) {
 			if ((new File(directory)).exists()) {