]> granicus.if.org Git - php/commitdiff
"<?xml ..." header is not required by SOAP specification
authorDmitry Stogov <dmitry@php.net>
Tue, 10 May 2005 08:16:14 +0000 (08:16 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 10 May 2005 08:16:14 +0000 (08:16 +0000)
ext/soap/php_http.c

index 7ce8dc9b607af45d7f2e9648ea3db66914645771..2de0e42237bbc8dbfa32e5330894f8d38551b1b6 100644 (file)
@@ -230,6 +230,7 @@ int make_http_soap_request(zval  *this_ptr,
        char *connection;
        int http_1_1;
        int http_status;
+       int content_type_xml = 0;
        char *content_encoding;
 
        if (this_ptr == NULL || Z_TYPE_P(this_ptr) != IS_OBJECT) {
@@ -962,6 +963,7 @@ try_again:
                }
                if (strncmp(content_type, "text/xml", cmplen) == 0 ||
                    strncmp(content_type, "application/soap+xml", cmplen) == 0) {
+                       content_type_xml = 1;
 /*
                        if (strncmp(http_body, "<?xml", 5)) {
                                zval *err;
@@ -1032,13 +1034,15 @@ try_again:
                if (*buffer_len == 0) {
                        error = 1;
                } else if (*buffer_len > 0) {
-                       char *s = *buffer;
+                       if (!content_type_xml) {
+                               char *s = *buffer;
 
-                       while (*s != '\0' && *s < ' ') {
-                         s++;
-                       }
-                       if (strncmp(s, "<?xml", 5)) {
-                         error = 1;
+                               while (*s != '\0' && *s < ' ') {
+                                       s++;
+                               }
+                               if (strncmp(s, "<?xml", 5)) {
+                                       error = 1;
+                               }
                        }
                }