gingar Posted January 9, 2009 Share Posted January 9, 2009 i have this site that i just did, that uses xml to pull info from my supplier. i'm using this. function send_request_test($data, $path, $host) { $header = "POST ".$path." HTTP/1.0\r\n"; $header .= "Host: ".$host."\r\n"; $header .= "Content-Type: text/xml\r\n"; $header .= "Content-Length: " . strlen($data) . "\r\n\r\n"; // open socket # $fp = pfsockopen('ssl://www.example.com', 443, $errno, $errstr, 60); $fp = fsockopen($host, 80, $errno, $errstr, 60); $retval=''; if (!$fp) { return "Error: " . $errstr; } else { fputs($fp, $header.$data); while (!feof($fp)) { $retval .= fread($fp, 1024); } fclose ($fp); } return $retval; } $test_xml = " <?xml version ='1.0' encoding='UTF-8'?> <root> <header> <protocol>1</protocol> <oem>supplier</oem> <agentID>11111</agentID> <password>password</password> <sessionID>5bcsx0ut3e0pck45fikpgd55</sessionID> </header> <body> <opCode>OP_SET_INFO</opCode> <deferPayment>0</deferPayment> <reserveDetails> <step>SAVE_RES</step> </reserveDetails> <pfileNumOnlyInResponse></pfileNumOnlyInResponse> </body> </root> "; $test_content = send_request_test($test_xml, $test_path, $test_host); $pos = strpos($test_content, '<body>'); if ($pos === false) { //echo "The string '$findme' was not found in the string '$mystring'"; } else { $test_data = substr($test_content, $pos); $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startTag_reservation", "endTag_reservation"); xml_set_character_data_handler($xml_parser, "contents_test_reservation"); if(!(xml_parse($xml_parser, $test_data))){ die("Error on line " . xml_get_current_line_number($xml_parser)); } xml_parser_free($xml_parser); } the above code appears to send and receive the data i requested. However, the sessionID that is supposed to be returned with the data changes with each response. This should not be the case, as i tried sending the exact same xml via a standalone xml program (SendXML) the sessionID remained consistent. Is there anything that i might have missed or included that somehow resets the xml request? or anything? i was stuck on this for 1 whole week before it suddenly hit me that the sessionid wasn't consistent. Please help! Link to comment https://forums.phpfreaks.com/topic/140102-php-n-xml/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.