On Friday 28 September 2007 11:21, Jeffery Fernandez wrote: > On Friday 28 September 2007 11:09, Nathan Nobbe wrote: > > just curious, what database are you using? > > I am using MySQL Ver 14.12 Distrib 5.0.22 Any clues Nathan? I have done some further testing and found that if I copy the working code (standalone script) and put it amongst the application code, that doesn't work either. I am thinking its a locale or character encoding problem. Any thoughts ? cheers, Jeffery > > cheers, > Jeffery > > > -nathan > > > > On 9/27/07, Jeffery Fernandez <jeffery@xxxxxxxxxx> wrote: > > > I am having nightmares with this bit off code. > > > > > > The following code work perfectly fine: > > > > > > $soap_request_string = <<<XML > > > <?xml version="1.0" encoding="UTF-8"?> > > > <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" > > > xmlns:ns1="urn:Gateway_Proxy" > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc=" > > > http://www.w3.org/2003/05/soap-encoding"> > > > <env:Body> > > > <ns1:make_proxy_payment env:encodingStyle=" > > > http://www.w3.org/2003/05/soap-encoding"> > > > <payment_id>61ecc268-1cd0-f468</payment_id> > > > <payment_amount>15495</payment_amount> > > > > > > > > > <callback_query_string>&payment_id=61ecc268-1cd0-f468</callback_que > > >ry _string> <transaction_note>Order from Student Library Fees with > > > Payment Id: 61ecc268-1cd0-f468</transaction_note> > > > </ns1:make_proxy_payment> > > > </env:Body> > > > </env:Envelope> > > > XML; > > > > > > $xml = new SimpleXMLElement($soap_request_string, NULL, false, ' > > > http://www.w3.org/2003/05/soap-envelope'); > > > print_r($xml); > > > $ns = $xml->getNamespaces(true); > > > //print_r($ns); > > > > > > foreach ($xml->children($ns['env']) as $body) > > > { > > > //printf("%s<br />", $body->getName()); > > > > > > foreach ($body->children($ns['ns1']) as $function) > > > { > > > printf("function %s()<br />", $function->getName()); > > > > > > foreach ($function->children() as $parameters) > > > { > > > printf("%s => \"%s\"<br />", > > > $parameters->getName(), $parameters); > > > } > > > } > > > } > > > > > > > > > However when the XML string is coming from the database it does not > > > work. The Field and table have a collation of "utf8_unicode_ci" > > > > > > $soap_request_string = trim(str_replace(array("\n"), '', > > > $record['SoapRequestEnvelope'])); > > > $xml = new SimpleXMLElement($soap_request_string, NULL, false, ' > > > http://www.w3.org/2003/05/soap-envelope'); > > > print_r($xml); > > > > > > > > > The above code is supposed to print out the following (for me to > > > proceed further): > > > > > > SimpleXMLElement Object > > > ( > > > [Body] => SimpleXMLElement Object > > > ( > > > ) > > > ) > > > > > > > > > but only returns: > > > SimpleXMLElement Object > > > ( > > > ) > > > > > > > > > The XL string from the database looks exactly like this (after > > > replacing new lines): > > > > > > <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env=" > > > http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:Gateway_Proxy" > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=" > > > http://www.w3.org/2001/XMLSchema-instance" xmlns:enc=" > > > http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:make_proxy_paym > > >en t > > > env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><payment_id > > >>5 > > > ce30dcc-7df7-04e8</payment_id><payment_amount>10</payment_amount><callb > > >ack > > > _query_string>&payment_id=5ce30dcc-7df7-04e8</callback_query_string > > >><t ransaction_note>Order from Student Library Fees with Payment Id: > > > 5ce30dcc-7df7-04e8</transaction_note></ns1:make_proxy_payment></env:Bod > > >y> </env:Envelope> > > > > > > > > > I can't figure out whats wrong with the code. Any suggestions? > > > > > > cheers, > > > Jeffery > > > -- > > > Internet Vision Technologies > > > Level 1, 520 Dorset Road > > > Croydon > > > Victoria - 3136 > > > Australia -- Internet Vision Technologies Level 1, 520 Dorset Road Croydon Victoria - 3136 Australia
Attachment:
pgpRZ4G4V5AKd.pgp
Description: PGP signature