diff --git a/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/GetCapabilitiesHandler.java b/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/GetCapabilitiesHandler.java
index b79e5f609c..25a11aa4e2 100644
--- a/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/GetCapabilitiesHandler.java
+++ b/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/GetCapabilitiesHandler.java
@@ -904,7 +904,11 @@ void export200()
}
constraints.add( new Domain( "KVPEncoding", "TRUE" ) );
constraints.add( new Domain( "XMLEncoding", "TRUE" ) );
- constraints.add( new Domain( "SOAPEncoding", "FALSE" ) );
+ if ( master.isSoapSupported() ) {
+ constraints.add( new Domain( "SOAPEncoding", "TRUE" ) );
+ } else {
+ constraints.add( new Domain( "SOAPEncoding", "FALSE" ) );
+ }
constraints.add( new Domain( "ImplementsInheritance", "FALSE" ) );
constraints.add( new Domain( "ImplementsRemoteResolve", "FALSE" ) );
if ( master.isEnableResponsePaging() ) {
diff --git a/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/WebFeatureService.java b/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/WebFeatureService.java
index f17c5f513d..c73881f794 100644
--- a/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/WebFeatureService.java
+++ b/deegree-services/deegree-services-wfs/src/main/java/org/deegree/services/wfs/WebFeatureService.java
@@ -978,7 +978,7 @@ public void doSOAP( SOAPEnvelope soapDoc, HttpServletRequest request, HttpRespon
throws ServletException, IOException, org.deegree.services.authentication.SecurityException {
LOG.debug( "doSOAP" );
- if ( disableBuffering ) {
+ if ( !isSoapSupported() ) {
super.doSOAP( soapDoc, request, response, multiParts, factory );
return;
}
@@ -1381,6 +1381,13 @@ public boolean isEnableResponsePaging() {
return enableResponsePaging;
}
+ /**
+ * @return true
if soap is supported, false
otherwise
+ */
+ public boolean isSoapSupported() {
+ return !disableBuffering;
+ }
+
/**
* Checks if a request version can be handled by this controller (i.e. if is supported by the implementation *and*
* offered by the current configuration).