From 15654d2cd0cfd81ad41e42a0cb17c03d633a2083 Mon Sep 17 00:00:00 2001 From: rwf14f Date: Fri, 3 May 2024 12:04:16 +0100 Subject: [PATCH] Fix problem with newer gsoap versions. (#125) --- src/server/vomsd.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server/vomsd.cc b/src/server/vomsd.cc index 09ea7fa6..a25d5ae7 100644 --- a/src/server/vomsd.cc +++ b/src/server/vomsd.cc @@ -841,7 +841,12 @@ void VOMSServer::Run() sop->ssl = sock.ssl; // GSOAP will handle this - sop->fparse(sop); + // newer versions of gsoap don't call the http handlers (eg fget) in fparse + // fparse returns SOAP_STOP if any of the handlers were called instead of SOAP_OK (older versions) + // if the return value is SOAP_OK then no hander has been called (newer versions) and we call + // fget manually if it's a get request (SOAP_GET) + if(sop->fparse(sop) == SOAP_OK && sop->status == SOAP_GET) + sop->fget(sop); sock.Close(); } else {