Wenn Sie sagen, dass die GetCapabilities-Antwort funktioniert, ist es unwahrscheinlich, dass bei der Konfiguration des WPS selbst in GeoServer ein Problem auftritt.
Der folgende Beitrag auf der Hivmr-Website , in dem ein Problem mit einem auf JBOSS ausgeführten GeoServer WPS-Dienst erläutert wird, besagt Folgendes:
Meine Vermutung ist ein Streit um den Thread-Pool, der zum Ausführen von Prozessen verwendet wird. Wenn ein Prozess ausgeführt wird, geschieht dies in einem Thread-Pool mit fester Größe. Wenn der Thread-Pool voll ist (alle Threads werden gerade ausgeführt), wartet die Prozessausführung und blockiert, ob es sich um eine synchrone Ausführung handelt.
Ich denke also, was passiert ist, ist ein Deadlock. Prozess "A" wartet auf Prozess "B", aber "B" wartet auf einen Platz im Thread-Pool, der erst verfügbar wird, wenn "A" beendet ist.
Standardmäßig beträgt die Größe des Thread-Pools das Zweifache der Anzahl der Kerne im Computer. Der schlimmste Fall ist also 2 Threads groß, was bedeutet, dass zwei parallele Aufrufe Ihres Prozesses zu einem Deadlock führen können. Die Größe des Thread-Pools ist konfigurierbar, sodass Sie sie erhöhen können. Dies ist jedoch eine echte Bandaid-Lösung. Es könnte jedoch in Verbindung mit dem Kontrollflussmodul funktionieren, das die Gesamtzahl der maximalen Anforderungen begrenzen kann, die ein Dienst verarbeiten kann. Sie müssen also nur sicherstellen, dass die Größe des Thread-Pools größer ist als die maximale Anzahl von WPS-Ausführungsanforderungen, die der Server verarbeiten kann.
server.log wo es stecken bleibt:
...
16: 43: 42,112 WARN [org.geoserver.ows] (http-executor-threads - 5) Es konnte keine ServiceInfo für Dienst- wps abgerufen werden, daher konnte nicht überprüft werden, ob der Dienst aktiviert ist
Es ist möglich, dass dies dasselbe Problem ist, auf das Sie gestoßen sind, und die Lösung lautet:
Stellen Sie sicher, dass die Größe des Thread-Pools größer ist als die maximale Anzahl von WPS-Ausführungsanforderungen, die der Server verarbeiten kann.