Skip to content

Commit 15654d2

Browse files
authored
Fix problem with newer gsoap versions. (#125)
1 parent 41267aa commit 15654d2

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/server/vomsd.cc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,12 @@ void VOMSServer::Run()
841841
sop->ssl = sock.ssl;
842842

843843
// GSOAP will handle this
844-
sop->fparse(sop);
844+
// newer versions of gsoap don't call the http handlers (eg fget) in fparse
845+
// fparse returns SOAP_STOP if any of the handlers were called instead of SOAP_OK (older versions)
846+
// if the return value is SOAP_OK then no hander has been called (newer versions) and we call
847+
// fget manually if it's a get request (SOAP_GET)
848+
if(sop->fparse(sop) == SOAP_OK && sop->status == SOAP_GET)
849+
sop->fget(sop);
845850

846851
sock.Close();
847852
} else {

0 commit comments

Comments
 (0)