Cannot get diagram SVG


#1

Hi there!
I’m trying to get the diagram for my process. I have exported the BPMN to SVG. Now if I GET process-definition/key/importSFTPFiles it responds with

{
 id: "importSFTPFiles:6:47404",
 key: "importSFTPFiles",
 category: "http://camunda.org/schema/1.0/bpmn",
 description: null,
 name: "Import SFTP Files",
 version: 6,
 resource: "BOOT-INF/classes/bpmn/importSFTPFiles.bpmn",
 deploymentId: "47401",
 diagram: "BOOT-INF/classes/bpmn/importSFTPFiles.svg",
 suspended: false,
 tenantId: null,
 versionTag: null,
 historyTimeToLive: null
}

So considering the diagram field of the response all seems to be fine. Now if I get process-definition/key/importSFTPFiles/diagram it responds with this header:

HTTP/1.1 200 OK
X-Powered-By: Express
server: nginx/1.11.10
date: Mon, 05 Feb 2018 08:34:59 GMT
content-type: image/svg+xml
connection: close
x-application-context: workflow-service:dev
content-disposition: attachment; filename=BOOT-INF/classes/bpmn/importSFTPFiles.svg
content-encoding: gzip
Content-Length: 3484
ETag: W/"d9c-4QUSWbOqRsf/U6fhsQs3ifG9TWw"

Again, the content-disposition and content-type headers looks like it’s doing what I expect … but the actual content returned is the BPMN-XML. Any idea what I’m doing wrong?
This is camunda BPM / v7.7.0


#2

Could you please share how you make the deployment?


#3

What exactly do you need to know? The Camunda part runs in a Docker image as a monolithic process (Embedded Process Engine, though we just switched to shared today). It’s in an AWS cluster behind some proxies and stuff. There is at least one nginx between the client and Camunda. Please let me know any details you require.


#4

I mean the process deployment, i.e. how you deploy the BPMN XML and SVG. Sorry for the confusion.


#5

We bundle the BPMN and everything into a jar using maven and deploy the jar file into our cloud (kubernetes). Is that kind of answer you were looking for?


#6

Hm, ok. Where I am trying to get: Are you sure you are deploying the actual SVG with that resource name or could it be that you accidentally deploy the BPMN XML as both the .bpmn file and the .svg file? You could also check in the {{ACT_GE_BYTEARRAY}} table for the actually deployed resources.


#7

Hi Thorben, thanks a lot for your quick support! Sorry for taking so long to process this, lots going on. So we checked {{ACT_GE_BYTEARRAY}} and there we have the actual SVG. I’ll paste just the beginning of the respective entry in order to not clutter this (I transformed that to string using some online tool and it definitely is SVG):
“21”,“1”,“bpmn/importSFTPFiles.svg”,“18”,"3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d227574662d38223f3e0d0a3c212d2d206372656174656420776974682062706d6e2d6a73202f20687474703a2f2f62706d6e2e696f202d2d3e0d0a3c21444f435459504520737667205055424c4943


#8

I’m afraid I can’t reproduce this. Here are the steps:

  1. Download and extract 7.7.0
  2. Generate an SVG named invoice.v2.svg for invoice.v2.bpmn in the camunda-invoice application
  3. Add SVG as a deployment resource to processes.xml
  4. Startup server and run GET /engine-rest/engine/default/process-definition/key/invoice/diagram

This returns the SVG just fine. How does you case differ?

Cheers,
Thorben


Set Diagram Image