Mit WSO2 BPS 3.6.0 haben wir mehrere lange laufende asynchrone Prozesse. Ich möchte einen Prozess in mehreren anderen Prozessen wiederverwenden (z. B. Fehlerbehandlung, gängige Verfahren, ...).WSO2 BPS BPEL Wiederverwendung der asynchronen Prozesse
Das Problem ist, dass in diesem Fall mehr Prozesse den gleichen Callback-Service aussetzen:
ERROR {org.wso2.carbon.bpel.core.ode.integration.store.TenantProcessStoreImpl} - Service: {http://xxx/bps/xxx}XXCallback already used by another process. Try again with a different service name
Wie kann ich an die Callback-Antwort von mehreren Prozessen hören? (Angenommen, ich könnte eine Korrelation bereitstellen, damit die richtige Instanz aufgerufen wird)
Ich überlege, einen etwas anderen Dienstnamen (URL-Fragment?) für jeden Elternprozess bereitzustellen (selbst den gleichen Port verfügbar zu machen) und den ReplyTo-Header zu verwenden Erzwinge die korrekte Callback-URL. Ich bin mir immer noch nicht sicher, ob es richtig ist.
Vielen Dank! Anscheinend muss ich die Rückrufdienste in den Elternprozessen umbenennen, aber das ist ok. Ich erwog, die Callback-URL im Adressierungsheader zu senden, aber bis jetzt konnte ich den ReplyTo-Adressierungsheader von der Nachricht nicht lesen. Irgendein Hinweis plz? Als Fallback kann ich noch die Callback-URL in der Payload übergeben (ich mag es nicht) – gusto2
AFAIK, Prozess zur Verarbeitung der Kommunikation kann nicht mit WSA-Header durchgeführt werden. – Sathwik
Tatsächlich übergebe ich die Callback-URLs in der Payload. Schnell und schmutzig, aber funktionierend. Meine Idee war, den lokalen Transport zu benutzen, aber ein Fehler in der WSO2BPS zwingt mich, die absolute http URL zu benutzen (aber - es funktioniert, bis ich die Ports nicht ändere). – gusto2