My application starts when someone send purchasing request but i don’t have process to send that request, so i decided to send that request from java code and continue purchasing process but it doesn’t start and faces this error output
Triggering Purchasing Process…
2024-09-24T11:18:23.901+03:00 WARN 14656 — [LPtest] [pool-2-thread-1] io.camunda.zeebe.client.job.worker : Failed to stream jobs of type ‘select_supplier_group’ to worker ‘LPtestApplication#selectSupplierGroup’
io.grpc.StatusRuntimeException: UNAVAILABLE: HTTP status code 504
invalid content-type: text/html
headers: Metadata(:status=504,date=Tue, 24 Sep 2024 08:18:24 GMT,content-type=text/html,strict-transport-security=max-age=63072000; includeSubDomains,content-length=160)
DATA-----------------------------
504 Gateway Time-out
504 Gateway Time-out
nginx
at io.grpc.Status.asRuntimeException(Status.java:533) ~[grpc-api-1.62.2.jar:1.62.2]
at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:481) ~[grpc-stub-1.62.2.jar:1.62.2]
at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:489) ~[grpc-core-1.62.2.jar:1.62.2]
at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:453) ~[grpc-core-1.62.2.jar:1.62.2]
at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:486) ~[grpc-core-1.62.2.jar:1.62.2]
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:574) ~[grpc-core-1.62.2.jar:1.62.2]
at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:72) ~[grpc-core-1.62.2.jar:1.62.2]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:742) ~[grpc-core-1.62.2.jar:1.62.2]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:723) ~[grpc-core-1.62.2.jar:1.62.2]
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.62.2.jar:1.62.2]
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) ~[grpc-core-1.62.2.jar:1.62.2]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]
Hi @Abdulaziiz - can you share your job worker implementation and how you’re creating the Zeebe client?
Thank you @nathan.loding -I just get over it. But i get a problem in this project but in different case. I have a DMN table which decides a purchasing type(3 types) based on the Item name which received from purchasing request. But after decides purchasing type it stops in XOR gateway and its an error like this…
Expected result of the expression ‘PurchasingType =“Other Purchasing”’ to be ‘BOOLEAN’, but was ‘NULL’. The evaluation reported the following warnings:
[NOT_COMPARABLE] Can’t compare ‘{PurchasingType:UnsafeBuffer{addressOffset=16, capacity=18, byteArray=byte[18], byteBuffer=null}, Suppliers:UnsafeBuffer{addressOffset=16, capacity=17, byteArray=byte[17], byteBuffer=null}, Purchaser:UnsafeBuffer{addressOffset=16, capacity=12, byteArray=byte[12], byteBuffer=null}}’ with ‘“Other Purchasing”’
@Abdulaziiz - can you share your BPMN model, or screenshots of how you’ve configured the gateway and the conditions on each of the flows?
@nathan.loding ,of course here also my DMN table configuration
@Abdulaziiz - at first glance, all that looks exactly right. Which leads me to believe the issue is that the PurchasingType
variable isn’t getting set correctly. If you go into Operate you should be able to see the incident that was raised when the running process hit that error. On the same Operate page, you can view the variables and their values; you can check to see if PurchasingType
is set to “Other Purchasing”.
The other thing to check is the variable mapping on the business rule task, to make sure the output of your decision is being mapped to the correct variable (in this case, PurchasingType
).
@nathan.loding -it sets right… but it still keeps the error
@Abdulaziiz - it’s not quite set right. The PurchasingType
variable isn’t set to the string “Other Purchasing”, it’s set to a context data type (FEEL’s version of a JSON object). Your gateways conditions need to be: =PurchasingType.PurchasingType = "Other Purchasing"
and =PurchasingType.PurchasingType = "Direct Purchasing"
and so on.
Thank you @nathan.loding it worked and passed to the next task… but it doesn’t fetch supplier, purchasing type and purchaser variable from the DMN table to the the “view information” form
@Abdulaziiz - this is again an issue with your FEEL expression. You are using {{ }}
, which isn’t a valid syntax for the “Default Value” field. Looking at your previous screenshot, you have multiple variables with a value containing {{ }}
also (for instance, Purchaser
is set to “{{Purchaser}}”).
I’d recommend reviewing our FEEL documentation, and perhaps also checking out the free FEEL video course on Camunda Academy.
Thank you @nathan.loding Ok i see that. I did that because it worked for me in forms which fetch the variable…thats why i used it for DMN table too.