I am trying to upgrade my application from CSSDK 2.0 to 2.5 but I encounter some problem.
I've made this sample to reproduce the problem.
In TeamSite, I've got many directories and files named in non-Latin characters. All names of directories and files related to this sample code contain non-Latin characters.
Now I have a "String vpathUTF8" which contains some non-Latin characters and is represented a vpath in UTF-8. I want to get all of its sub-directories and all files in them. I use this piece of code:
String vpathISO = new String(vpathUTF8.getBytes("utf-8"), "iso-8859-1");
CSVPath csvpath = new CSVPath(vpathISO);
CSDir csdir = (CSDir) client.getFile(csvpath);
Iterator it = csdir.getFiles(CSFileKindMask.DIR,
new CSSortKey[]{new CSSortKey(CSSortKey.NAME, true)},
CSFileKindMask.DIR, null, 0, -1);
while (it.hasNext()) {
CSDir csdir2 = (CSDir) it.next();
System.out.println(new String(csdir2.getVPath().toString().getBytes("iso-8859-1"), "utf-8"));
Iterator it2 = csdir2.getFiles(CSFileKindMask.SIMPLEFILE,
new CSSortKey[]{new CSSortKey(CSSortKey.NAME, true)},
CSFileKindMask.SIMPLEFILE, null, 0, -1);
while (it2.hasNext()) {
CSNode node = (CSNode) it2.next();
System.out.println(new String(node.getVPath().toString().getBytes("iso-8859-1"), "utf-8"));
}
}
It works perfectly in CSSDK 2.0 but not in 2.5. In CSSDK 2.5. This exception is thrown:
com.interwoven.cssdk.common.CSObjectNotFoundException: /default/main/????????????/WORKAREA/import/?/????(?????????????????��?????????)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at com.interwoven.cssdk.client.axis.common.AxisExceptionTranslator.translateException(AxisExceptionTranslator.java:72)
at com.interwoven.cssdk.client.axis.filesys.FileServiceAdapterImpl.getDirectoryContentsWithQueryBatch(FileServiceAdapterImpl.java:1179)
at com.interwoven.cssdk.filesys.impl.CSFileIteratorImpl.getNextBatch(CSFileIteratorImpl.java:275)
at com.interwoven.cssdk.filesys.impl.CSFileIteratorImpl.<init>(CSFileIteratorImpl.java:194)
at com.interwoven.cssdk.filesys.impl.CSDirImpl.getFiles(CSDirImpl.java:120)
at iwts.Tester.main(Tester.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:86)
Root cause:
AxisFault
faultCode: {
http://content-services.org/types/services2.0.wsdl}23 faultSubcode:
faultString: ?????????????????��?????????
faultActor:
faultNode:
faultDetail:
{}errorCode: 920
{}auxData: /default/main/????????????/WORKAREA/import/?/????
?????????????????��?????????
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:260)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:169)
at org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1015)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at com.interwoven.cssdk.client.axis.generated.FileServiceBindingStub.getDirectoryContentsWithQueryBatch(FileServiceBindingStub.java:3752)
at com.interwoven.cssdk.client.axis.filesys.FileServiceAdapterImpl.getDirectoryContentsWithQueryBatch(FileServiceAdapterImpl.java:1167)
at com.interwoven.cssdk.filesys.impl.CSFileIteratorImpl.getNextBatch(CSFileIteratorImpl.java:275)
at com.interwoven.cssdk.filesys.impl.CSFileIteratorImpl.<init>(CSFileIteratorImpl.java:194)
at com.interwoven.cssdk.filesys.impl.CSDirImpl.getFiles(CSDirImpl.java:120)
at iwts.Tester.main(Tester.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:86)
Exception in thread "main"