From: Dmitry Stogov Date: Tue, 20 Jul 2004 07:39:32 +0000 (+0000) Subject: Fixed incorrect HTTP headers in SOAP response X-Git-Tag: PRE_ZEND_VM_DISPATCH_PATCH~434 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=31757a6aa877f723180ec766a49085e80f0128aa;p=php Fixed incorrect HTTP headers in SOAP response --- diff --git a/ext/soap/soap.c b/ext/soap/soap.c index fd21af7925..604e1062a5 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -1262,7 +1262,7 @@ PHP_METHOD(SoapServer, handle) INIT_ZVAL(readfile_ret); MAKE_STD_ZVAL(param); - sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"", sizeof("Content-Type: text/xml; charset=\"utf-8\""), 1); + sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"", sizeof("Content-Type: text/xml; charset=\"utf-8\"")-1, 1); ZVAL_STRING(param, service->sdl->source, 1); ZVAL_STRING(&readfile, "readfile", 1); if (call_user_function(EG(function_table), NULL, &readfile, &readfile_ret, 1, ¶m TSRMLS_CC) == FAILURE) { @@ -1623,11 +1623,11 @@ PHP_METHOD(SoapServer, handle) } sprintf(cont_len, "Content-Length: %d", size); - sapi_add_header(cont_len, strlen(cont_len) + 1, 1); + sapi_add_header(cont_len, strlen(cont_len), 1); if (soap_version == SOAP_1_2) { - sapi_add_header("Content-Type: application/soap+xml; charset=\"utf-8\"", sizeof("Content-Type: application/soap+xml; charset=\"utf-8\""), 1); + sapi_add_header("Content-Type: application/soap+xml; charset=\"utf-8\"", sizeof("Content-Type: application/soap+xml; charset=\"utf-8\"")-1, 1); } else { - sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"", sizeof("Content-Type: text/xml; charset=\"utf-8\""), 1); + sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"", sizeof("Content-Type: text/xml; charset=\"utf-8\"")-1, 1); } xmlFreeDoc(doc_return); @@ -1707,13 +1707,13 @@ static void soap_server_fault_ex(sdlFunctionPtr function, zval* fault, soapHeade Want to return HTTP 500 but apache wants to over write our fault code with their own handling... Figure this out later */ - sapi_add_header("HTTP/1.1 500 Internal Service Error", sizeof("HTTP/1.1 500 Internal Service Error"), 1); + sapi_add_header("HTTP/1.1 500 Internal Service Error", sizeof("HTTP/1.1 500 Internal Service Error")-1, 1); sprintf(cont_len,"Content-Length: %d", size); - sapi_add_header(cont_len, strlen(cont_len) + 1, 1); + sapi_add_header(cont_len, strlen(cont_len), 1); if (soap_version == SOAP_1_2) { - sapi_add_header("Content-Type: application/soap+xml; charset=\"utf-8\"", sizeof("Content-Type: application/soap+xml; charset=\"utf-8\""), 1); + sapi_add_header("Content-Type: application/soap+xml; charset=\"utf-8\"", sizeof("Content-Type: application/soap+xml; charset=\"utf-8\"")-1, 1); } else { - sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"", sizeof("Content-Type: text/xml; charset=\"utf-8\""), 1); + sapi_add_header("Content-Type: text/xml; charset=\"utf-8\"", sizeof("Content-Type: text/xml; charset=\"utf-8\"")-1, 1); } php_write(buf, size TSRMLS_CC);