01-16-2018 05:18 AM
Hi,
I want to merges blobs but when I try nuxeoClient.operation('Blob.ConcatenatePDFs') .params({ filename: fileName }) .input(blobList) .execute()
, I get {"entity-type":"exception","code":"org.nuxeo.ecm.automation.InvalidChainException","status":500,"message":"Failed to invoke operation: Blob.ConcatenatePDFs"} ?
And in nuxeo server side I have :
****** chain ******
Name: Blob.ConcatenatePDFs
Exception: InvalidChainException
Caught error: Cannot find any valid path in operation chain - no method found for operation 'Blob.ConcatenatePDFs' and for first input type 'java.util.ArrayList'
Caused by: null
****** Hierarchy calls ******
at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.run(OperationServiceImpl.java:238)
at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.run(OperationServiceImpl.java:121)
at org.nuxeo.ecm.automation.server.jaxrs.OperationResource.execute(OperationResource.java:58)
at org.nuxeo.ecm.automation.server.jaxrs.ExecutableResource.doPost(ExecutableResource.java:68)
... 115 more
Caused by: org.nuxeo.ecm.automation.InvalidChainException: Cannot find any valid path in operation chain - no method found for operation 'Blob.ConcatenatePDFs' and for first input type 'java.util.ArrayList'
at org.nuxeo.ecm.automation.core.impl.CompiledChainImpl.buildChain(CompiledChainImpl.java:166)
at org.nuxeo.ecm.automation.core.impl.CompiledChainImpl.buildChain(CompiledChainImpl.java:146)
at org.nuxeo.ecm.automation.core.impl.OperationServiceImpl.run(OperationServiceImpl.java:212)
... 118 more
2018-01-16 14:04:25,476 WARN [http-bio-X.X.X.X-8443-exec-88] [org.nuxeo.ecm.webengine.app.WebEngineExceptionMapper] Exception in JAX-RS processing
org.nuxeo.ecm.webengine.WebException: **Failed to invoke operation: Blob.ConcatenatePDFs**
at org.nuxeo.ecm.webengine.WebException.newException(WebException.java:133)
at org.nuxeo.ecm.webengine.WebException.newException(WebException.java:122)
at org.nuxeo.ecm.automation.server.jaxrs.ExecutableResource.doPost(ExecutableResource.java:87)
According with http://explorer.nuxeo.com/nuxeo/site/distribution/Nuxeo%20DM-8.3/viewOperation/Blob.ConcatenatePDFs, We don't need Document path to use this OP ? blobList is enough ?
Must I update my nuxeo platform to have Blob.ConcatenatePDFs Operation in REST API ?
Thanks for your helps
01-18-2018 05:08 AM
Hi Thomas,
Here is my CustomConcatenatePDFs
from studio (cf : [Capture d’e´cran 2018-01-18 a` 10.11.21.png])
nuxeoClient.operation('CustomConcatenatePDFs')
.params({
filename : fileName,
url : pdfUri })
.input(docs) //List of doc to have automatic loop
.execute()
but when I get ressult client side I always have blob ([Capture d’e´cran 2018-01-18 a` 10.11.01 (2).png]) with no stream and name ? MergedPdf : { type : 'text/plain', size : 13284832}
It supposed to be a pdf file ?
thanks
01-16-2018 08:13 AM
Hi,
01-16-2018 08:15 AM
I Thomas,
I use latest version of JS client (3.4.1), nuxeo version 8.10 and my BlobList (blob) look like
let file :Blob = doc.properties['file:content'];
```
such as
```
blob : {data : "[https://server/nuxeo/nxfile/default/2c19d2f0-212e-4f84-9c56-f61c497e9ff9/file:content/CDE-2018-000021%20DEVIS%20MANUEL%20HAVAS.docx](https://server/nuxeo/nxfile/default/2c19d2f0-212e-4f84-9c56-f61c497e9ff9/file:content/CDE-2018-000021%20DEVIS%20MANUEL%20HAVAS.docx "https://server/nuxeo/nxfile/default/2c19d2f0-212e-4f84-9c56-f61c497e9ff9/file:content/CDE-2018-000021%20DEVIS%20MANUEL%20HAVAS.docx")"
digest : "c83dc99ad65f21c5095e2a64965e977f"
digestAlgorithm : "MD5"
encoding : null
length : "13273"
"mime-type" : "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
name : "CDE-2018-000021 DEVIS MANUEL HAVAS.docx"}
```
I tried doc.getBlobs() but I have `blob : { type : application/vnd.openxmlformats-officedocument.wordprocessingml.document, size : 13273}`, that's all.
But I always have
```
2018-01-16 14:04:25,476 WARN [http-bio-X.X.X.X-8443-exec-88] [org.nuxeo.ecm.webengine.app.WebEngineExceptionMapper] Exception in JAX-RS processing
org.nuxeo.ecm.webengine.WebException: Failed to invoke operation: Blob.ConcatenatePDFs
at org.nuxeo.ecm.webengine.WebException.newException(WebException.java:133)
at org.nuxeo.ecm.webengine.WebException.newException(WebException.java:122)
at org.nuxeo.ecm.automation.server.jaxrs.ExecutableResource.doPost(ExecutableResource.java:87)
at sun.reflect.GeneratedMethodAccessor224.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
```
Thanks
`
01-17-2018 05:07 AM
You can't use Blob JSON definition from a JSON document properties as input of an operation, Nuxeo won't be able to decode it.
For your use case, I would create a custom chain CustomConcatenatePDFs
such as:
- Document.GetBlob: {}
- Blob.ConcatenatePDFs: {}
And then call it through:
nuxeoClient.operation('CustomConcatenatePDFs')
.input(doc) // or just the document id/path if you don't event need to fetch the wole document
.params({ xpath: 'file:content', filename: fileName })
.execute()
This way, everything will be done server side: the first operation will retrieve the Blob at file:content
from the given document as input and pass it to the Blob.ConcatenatePDFs
operatrion as input.
01-17-2018 05:19 AM
Hi Thomas,
01-18-2018 04:36 AM
Why doing an iteration? On your example `let file
01-18-2018 06:38 AM
Ok, I change my mind and do something clean but it merge the same file twice or more ?
01-17-2018 07:59 AM
Hi Thomas,
If I use Automation scripting to do my merge operation server side, It will works ? It will return readable file (blob) in client side ?
Thanks
01-18-2018 05:08 AM
Hi Thomas,
Here is my CustomConcatenatePDFs
from studio (cf : [Capture d’e´cran 2018-01-18 a` 10.11.21.png])
nuxeoClient.operation('CustomConcatenatePDFs')
.params({
filename : fileName,
url : pdfUri })
.input(docs) //List of doc to have automatic loop
.execute()
but when I get ressult client side I always have blob ([Capture d’e´cran 2018-01-18 a` 10.11.01 (2).png]) with no stream and name ? MergedPdf : { type : 'text/plain', size : 13284832}
It supposed to be a pdf file ?
thanks
01-30-2018 02:47 AM
Hi Thomas,
I solved my issue by creating a customScript server side in studio though automation chains and it works fine.
Thanks a lot
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.