HTTP post using php and curl failing

Posted by user2916484 on Stack Overflow See other posts from Stack Overflow or by user2916484
Published on 2013-10-24T15:35:50Z Indexed on 2013/10/24 15:53 UTC
Read the original article Hit count: 167

Filed under:
|
|

I am trying to send an XML file to an external system. I am using the below code for doing so, which I got over the internet.

But I observed that when i put an echo on the xml variable, it does not show me the XML as a string, but it is parsing the xml and showing me the values. Same is happening when I am sending this to external system. Which is failing.

Can you please tell me a way, in which the XML is not parsed and I can send the entire XML text as a string to external system?

My code is below.

<?php

    $xml = '<?xml version=\"1.0\" encoding="UTF-8" ?><shiporder><orderID>1234</orderID>        <orderperson>John Smith</orderperson></shiporder>';
    $xml2 = ''; 
     $headers = array(
        "Content-type: text/xml",
        "Content-length: " . strlen($xml),
        "Connection: close",
    );
    // give the path of the Third party site
    $url = "http://<server>:<port>/XMII/Illuminator?service=WSMessageListener&mode=WSMessageListenerServer&NAME=shiporder&IllumLoginName=<name>&IllumLoginPassword=<pswd>";

     echo $xml;
     echo $url;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    //curl_setopt($ch, CURLOPT_MUTE, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);

    echo $output;

    curl_close($ch);

    ?>

Regards, Gita

© Stack Overflow or respective owner

Related posts about php

Related posts about Xml