Ciao Andrea e grazie per la risposta.
Comincio col dire che, fermandomi solo per dormire qualche ora, son riuscito a trovare una quadra, grazie anche all'aiuto di un amico.
La mia soluzione (di quelle che noi chiamiamo "pastorali") è stata affidare a Java soltanto uno shell ad un file batch (sui quali sono ben più ferrato) e, così facendo, tutto funziona.

Se si riuscisse a migrare tutto su Java sarebbe fantastico, anche per fare un po' d'ordine, visto che così, a parte i batch, sono costretto a tenere tutti i files nella stessa directory (a parte quella di Python, tra l'altro python.exe è un eseguibile, certo, ed è nella directory impostata come path).

Per quanto riguarda il resto, nella fattispecie:
- genericXMCDAService.by è uno script che contiene le chiamate SOAP per chiamare svariati webservice, come ElectreConcordanceEccetera che c'è nell'esempio,

- alternatives, criteria, weights e performances, tutti .xml, sono files di input che si trovano sempre nella stessa directory.

La conclusione che ho raggiunto, dopo esser riuscito in batch e non in Java a chiamare i vari files, è che Runtime.exec non "parla" batchese, per cui se gli do un comando tipo "cd unacertapath" non funziona.

Parte java:
codice:
String s; Process p; // Chiamo Electre-Concordance s = getServletContext().getRealPath("/"); p = Runtime.getRuntime().exec(s + "/batches/" + "callConc.bat");
Parte batch:

codice:
@echo off
cd %~dp0%~1
cd..
python genericXMCDAService.py -n ElectreConcordance-J-MCDA --submit-and-wait-solution alternatives:alternatives.xml criteria:criteria.xml weights:weights.xml performances:performances.xml