ntan
ntan

Reputation: 2205

SOAP response to XML with SimpleXML

I am trying to convert a SOAP response to XML.

SOAP has an envelop and a body

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>

When I try to convert

$responseXML = simplexml_load_string($string);

I get

object(SimpleXMLElement)#20 (0) { } 

If I edit the $string as soap:Envelope and soap:Body I can get the XML.

What's wrong with :? Can not get XML.

I hope it's clear. Anyone?

Upvotes: 4

Views: 24244

Answers (2)

Guffa
Guffa

Reputation: 700592

A SOAP message is already XML. The problem is that it has namespaces so you have to access it differently. (The part before the colon is the identifier for the namespace.)

Here (google cached copy) is an example of using namespaces with SimpleXML.
Here is a specific example for reading SOAP messages.

Upvotes: 9

Dormilich
Dormilich

Reputation: 927

SimpleXML requires special treatment for namespaced XML (ref.)

Upvotes: 1

Related Questions