Re: cURL issues posting to an end point

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 4, 2012 at 1:35 PM, Alejandro Michelin Salomon
<amichelins@xxxxxxxxxxx> wrote:
> Bastien:
>
> -----Mensagem original-----
> De: Bastien Koert [mailto:phpster@xxxxxxxxx]
> Enviada em: quinta-feira, 4 de outubro de 2012 11:54
> Para: PHP-General
> Assunto:  cURL issues posting to an end point
>
> Hi All,
>
> I have a page that receives third party data into my app, xml data via https
> post. This works fine and I receive the data as expected. The issue I am
> facing is around posting XML data back as a synchronous response to the post
> I receive. I am using the following code:
>
> function sendXMLConfirmation($data)
> {
>   /*
>    * XML Sender/Client.
>    */
>   // Get our XML. You can declare it here or even load a file.
>
>
>   $xml_builder = '<?xml version="1.0" encoding="utf-8"?>
>                                 <Envelope version="01.00">
>                                         <Sender>
>                                                 <Id/>
>
> <Credential>25412</Credential>
>                                         </Sender>
>                                         <Recipient>
>                                                 <Id/>
>                                         </Recipient>
>                                         <TransactInfo
> transactType="response">
>
> <TransactId>'.$hash.'</TransactId>
>                                                 <TimeStamp>'.date("Y-m-d H:m
> ").'</TimeStamp>
>                                                 <Status>
>                                                         <Code>200</Code>
>
> <ShortDescription>Success</ShortDescription>
>
> <LongDescription>CANDIDATE Data transfer was a success</LongDescription>
>                                                 </Status>
>                                         </TransactInfo>
>                                         <Packet>
>                                                 <PacketInfo
> packetType="response">
>
> <PacketId>1</PacketId>
>                                                         <Action>SET</Action>
>                                                         <Manifest>Manifest
> Data</Manifest>
>                                                         <Status>
>                                                                 <Code/>
>
> <ShortDescription/>
>
> <LongDescription/>
>                                                         </Status>
>                                                 </PacketInfo>
>
> <Payload><![CDATA[]]></Payload>
>                                         </Packet>
>                                 </Envelope>
>                  ';
>
>
>   // We send XML via CURL using POST with a http header of text/xml.
>         $ch = curl_init();
>
>         $url =
> 'https://staging.somesite.com/Sprocessor/DispatchMessage.asmx';
>
>         curl_setopt($ch, CURLOPT_URL, $url);
>         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);   // for https
>         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
>         curl_setopt($ch, CURLOPT_TIMEOUT, 4);
>         curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_builder);
>
> ----- curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
> -----   curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
>
> --- NEW ----
> $sPost = '/Sprocessor/DispatchMessage.asmx';
> $sHost = ' https://staging.somesite.com';
>
> curl_setopt($ch, CURLOPT_HTTPHEADER,
> array(
> 'User-Agent: My Program',
> 'Accept-Encoding: gzip, deflate',
> 'POST ' . $sPost . ' HTTP/1.1',
> 'Host: ' . $sHost,
> 'Content-type: application/soap+xml; charset="utf-8"',
> 'Content-Length: ' . strlen($xml_builder)
> );
>
> ---- END NEW -----
>         //Execute the request and also time the transaction ( optional )
>
>         $start = array_sum(explode(' ', microtime()));
>
>         $result = curl_exec($ch);
>
>         curl_close($ch);
>         // Print CURL result.
>         echo $ch_result;
> }
>
>
> The endpoint recipient says they are not receiving the data and I am at a
> loss to figure out why. Any insight would be appreciated.
>
> Thanks,
>
> --
>
> Bastien
>
> Cat, the other other white meat
>
> --
> PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:
> http://www.php.net/unsub.php
>
>

Thanks, Alejandro,

So much closer that before, however I am getting an error on this.
"Unexpected ';' on line 151 which is the closing array );

	curl_setopt($ch, CURLOPT_HTTPHEADER,
		array(
		'User-Agent: My Program',
		'Accept-Encoding: gzip, deflate',
		'POST ' . $sPost . ' HTTP/1.1',
		'Host: ' . $sHost,
		'Content-type: application/soap+xml; charset="utf-8"',
		'Content-Length: ' . strlen($xml_builder)
                );




-- 

Bastien

Cat, the other other white meat

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux