PHP cURL Content-Type is not set
You are setting HTTP_HEADER twice:
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/xml', 'Connection: Keep-Alive' ));curl_setopt($ch, CURLOPT_HTTPHEADER,array("Expect: "));
I guess that is the problem. The second time you set it, you delete the first setting.