Unfortunately that seems to break thredds's parsing of catalogConfig.xml.
If I convert
<dataset name="Single-level Salinity Data" 
urlPath="stream=ocea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS=RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMAIN=G,salinity.nc"/>
to
<dataset name="Single-level Salinity Data" 
urlPath="stream%3Docea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS=RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMAIN=G,salinity.nc"/>
that is to change the first "=" to %3D, the hex code for "=", it seems 
to break the lookup. What I get is the error
Error {
   code = 1;
   message = "Dataset not found in catalog; urlPath= 
<stream=ocea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS=RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMAIN=G,salinity.nc>";
};
It would seem that thredds is converting the %3D to "=" in its head, 
then failing on the string comparison. Just my guess though.
Cheers,
-T
T,
Well. The problem is in your Dataset name:
}  
stream=ocea,param=200,DATE=20000101,TIME=0000,STEP=0,EXPVER=0oc7,CLASS 
=RD,TYPE=AN,NUMBER=0,METHOD=0,LEVELIST=7.000,LEVTYPE=DP,REPRES=LL,DOMA 
IN=G,salinity.nc;
The parser is barfing on the first "=" character (Line 58, column 9)
James? Is this in any way a legal name? If so, how does he need to  
"escape" the "=" (and possibly the ",") characters?
You could escape the '=' and ',' using the HTTP %<hex digit><hex 
digit>  notation, I think. When the Java DAP 2.0 parser was written we 
had not  encountered file names that broke the 'C identifier' mold. 
But that was  just around the corner... Anyway, the C++ code lets just 
about anything  be a file name. I'd try the escaping scheme and see 
how it works.
James
PS. I just checked the DDS parser and it will grok the percent sign, 
so  you should be OK using that to signal the start of the escape 
sequence.