cancel
Showing results for 
Search instead for 
Did you mean: 

Alf doesn't support to that file whose name start with digit

unknown-user
Champ on-the-rise
Champ on-the-rise
Hi All

Anybuddy can explain why Alfresco does not support to that file whose name start with digit for example,  If file name starts with digits (eg.  23459_alfresco.pdf) you will be able to upload the files first time but if you will upload it again then it'll throw this exception –

AxisFault

faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException

faultSubcode:

faultString:

faultActor:

faultNode:

faultDetail:

{http://www.alfresco.org/ws/service/repository/1.0}RepositoryFault:<ns1:errorCode>0</ns1:errorCode><ns1:message>org.alfresco.service.cmr.repository.XPathException: Error executing xpath:

xpath: /app:company_home/cm:neb_folder/cm:a123_folder/cm:20080407_Alfresco.pdf</ns1:message>

{http://xml.apache.org/axis/}exceptionNameSmiley Surprisedrg.alfresco.repo.webservice.repository.RepositoryFault

{http://xml.apache.org/axis/}stackTrace:

at org.alfresco.repo.webservice.repository.RepositoryWebService.get(RepositoryWebService.java:689)

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:585)

at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)

at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)

at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)

at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)

at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)

at java.lang.Thread.run(Thread.java:595)

{http://xml.apache.org/axis/}hostnameSmiley FrustratedJP-184174



at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)

at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)

at org.alfresco.webservice.repository.RepositoryFault.getDeserializer(RepositoryFault.java:146)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)

at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)

at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)

at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)

at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)

at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)

at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(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.XML11Configuration.parse(Unknown Source)

at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)

at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)

at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)

at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)

at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)

at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)

at org.apache.axis.client.Call.invokeEngine(Call.java:2784)

at org.apache.axis.client.Call.invoke(Call.java:2767)

at org.apache.axis.client.Call.invoke(Call.java:2443)

at org.apache.axis.client.Call.invoke(Call.java:2366)

at org.apache.axis.client.Call.invoke(Call.java:1812)

at org.alfresco.webservice.repository.RepositoryServiceSoapBindingStub.get(RepositoryServiceSoapBindingStub.java:1078)

at org.alfresco.sample.webservice.NEBSearch.searchFile(NEBSearch.java:119)

at org.alfresco.sample.webservice.NEBUpload.upload(NEBUpload.java:156)

at org.alfresco.sample.webservice.NEBUpload.main(NEBUpload.java:92)


Regards
Nishant
6 REPLIES 6

t_broyer
Champ in-the-making
Champ in-the-making
xpath: /app:company_home/cm:neb_folder/cm:a123_folder/cm:20080407_Alfresco.pdf</ns1:message>

cm:20080407_Alfresco.pdf is not a valid XML name (local names must start with a letter or underscore, they cannot start with a digit). Alfresco solves this (along with other XML-naming incompatibilities) using ISO 9075 encoding, which replaces any character that's disallowed in an XML name with its Unicode code point formatted as _xNNNN_ (where NNNN is the code-point in hexa).

So, the XPath segment should read cm:_x0032_0080407_Alfresco.pdf

unknown-user
Champ on-the-rise
Champ on-the-rise
Hi  t.broyer

Thanks for the response.

You mean alfresco creates xml file internaly which is having the same name as pdf file. Am i right?

Regards
Nishant

t_broyer
Champ in-the-making
Champ in-the-making
You mean alfresco creates xml file internaly which is having the same name as pdf file. Am i right?

No.

But an XPath runs on XML and thus is constrained by the XML syntax (run on a "virtual XML document" representing the whole system, stored in database, not in XML)

kumbach
Champ in-the-making
Champ in-the-making
Space and document names must be ISO9075 encoded.

Creating a document or space with a name that begins with a number or contains spaces in the name will cause an error.

Search the forums for ISO9075, this has been discussed elsewhere.

Hope this helps.

Kevin

unknown-user
Champ on-the-rise
Champ on-the-rise
Hi kumbach

Thanks for the response.

I agree from your reply. But can you please tell me why Alfresco support if first time I upload this type of file.



Regards
Nishant

cleseach
Star Contributor
Star Contributor
Hi,

You probably should show us the code you are using to upload the file for an accurate response.

Regards,
Charles Le Seac'h