RE: reading incoming xml

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

 



You can get what you post either with:

$postText = trim(file_get_contents('php://input');

Or with:

$postText = $GLOBALS["HTTP_RAW_POST_DATA"];

About HTTP_RAW_POST_DATA http://us2.php.net/manual/en/reserved.variables.php
Read the notes here http://us2.php.net/variables.predefined

"It should be noted that $HTTP_RAW_POST_DATA only exists if the encoding type of
the data is -not- the default of application/x-www.form-urlencoded, and so, to
accessing raw post data from an HTTP form requires setting enctype= in your
HTML. "

So, if $RAW_POST_DATA doesn't exist, it is because you should be able to use
$_POST (unless you set PHP to always populate raw post data in php.ini). The
preferred method is, however, to read 'php://input'

Then after you get the XML body, you must use one of the XML extensions
available in PHP to parse the XML data (search for it as it's not part of this
help pack ;) ).

Regards,

Rob(inet)

Andrés Robinet | Lead Developer | BESTPLACE CORPORATION 
5100 Bayview Drive 206, Royal Lauderdale Landings, Fort Lauderdale, FL 33308 |
TEL 954-607-4207 | FAX 954-337-2695 | 
Email: info@xxxxxxxxxxxxx  | MSN Chat: best@xxxxxxxxxxxxx  |  SKYPE: bestplace |
 Web: bestplace.biz  | Web: seo-diy.com

> -----Original Message-----
> From: Larry Brown [mailto:larry.brown@xxxxxxxxxxxxxxxxxxxxx]
> Sent: Saturday, March 01, 2008 9:43 PM
> To: Nathan Nobbe
> Cc: php
> Subject: Re:  reading incoming xml
> 
> The incoming message to the server is:
> 
> POST /vendorXML.html HTTP/1.0
> MIME-Version: 1.0
> Content-type: text/html
> Content-length: 114
> Content-transfer-encoding: text
> Request-number: 1
> Document-type: Request
> Interface-Version: Test 1.4
> Connection: close
> 
> <?xml version="1.0" encoding="UTF-8"?><Data>vendorCompanyID</Data>
> 
> 
> Larry
> 
> On Sat, 2008-03-01 at 18:08 -0500, Nathan Nobbe wrote:
> 
> > hmm,  it looks to me like you want to post a bunch of raw data to the
> > server.  im not sure exactly how to do that w/ the php curl functions...
> > everything ive seen uses CURLOPT_POSTFIELDS to supply an associative
> array
> > of data to be posted.  in this case you could easily send you data across
> by
> > choosing a name for the index, something like 'postdata', anything will
> do,
> > then it will be accessible on the system youre posting to via
> > $_POST['postdata'].
> >
> > also, inlooking at your usage of CURLOPT_CUSTOMREQUEST, i dont believe
> youre
> > using it correctly,  i think youre just supposed to put a string
> > representing the desired http method in there, so something like 'HEAD',
> > 'PUT', or in this case 'POST'.  then you would supply the data as i said
> > earlier, using CURLOPT_POSTFIELDS.  so in all, i think something like
> this
> > would work for you,
> >
> 
> >
> >
> > and also, in reading the warning about CURLOPT_CUSTOMREQUEST, you might
> just
> > go with CURLOPT_POST => true, since you arent using an obscure http
> method.
> > im not sure exactly how to determine if the server supports this method
> or
> > not.  anyway, i found this in 'man curl_easy_setopt'  (thats the manpage
> for
> > the c function php uses for the CURLOPT_CUSTOMREQUEST option).
> >
> >               Many people have wrongly used this option to replace the
> > entire request with their own, including multiple headers and POST
> contents.
> > While that  might
> >               work  in  many  cases,  it will cause libcurl to send
> invalid
> > requests and it could possibly confuse the remote server badly. Use
> > CURLOPT_POST and CUR-
> >               LOPT_POSTFIELDS to set POST data. Use CURLOPT_HTTPHEADER to
> > replace or extend the set of headers sent by libcurl. Use
> > CURLOPT_HTTP_VERSION  to  change
> >               HTTP version.
> >
> > -nathan
> --
> Larry Brown <larry.brown@xxxxxxxxxxxxxxxxxxxxx>
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php

-- 
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