code: protected <T> ServiceResponse<T> makeBackwardCompatibleHttpPostRequestAndCreateServiceResponse(String uri, Object body, Class<T> resultType, Map<String, String> headers) {
          logger.debug("About to send POST request to '{}' with payload '{}'", uri, body);
          KieServerHttpRequest request = newRequest( uri ).headers(headers).body(serialize( body )).post();
          KieServerHttpResponse response = request.response();
  
          owner.setConversationId(response.header(KieServerConstants.KIE_CONVERSATION_ID_TYPE_HEADER));
  
          if ( response.code() == Response.Status.OK.getStatusCode() ) {
              ServiceResponse serviceResponse = deserialize( response.body(), ServiceResponse.class );
              // serialize it back to string to make it backward compatible
              serviceResponse.setResult(serialize(serviceResponse.getResult()));
              checkResultType(serviceResponse, resultType);
              return serviceResponse;
          } else {
              throw createExceptionForUnexpectedResponseCode( request, response );
          }
      }
docs: /*
  override of the regular method to allow backward compatibility for string based result of ServiceResponse