Hey Guys,

I appreciate any and all help.

I'm trying to print out the results of a query I've made to another server using the nusoap client. I'm successfully sending my XML Array to their WSDL web service and they are sending an XML response back. <RESULTS><TEXT>Success</TEXT></RESULTS>

However all < and > symbols are missing. Quotes and every other symbol is intact.

I'm using the nusoap classes and functions, and I'm wondering if there is a parameter perhaps that I need to pass so that the data retains its XML structure or?

So when they send back their results it looks like this....


The code I'm using to open the soapclient and gather the results its pretty simply. I'm not setting any paramters outside

$args = array ("xml"=>$str); 
$client = new soapclient($url,"wsdl"); $results = $client->call("User_Data", $args);

Thanks again.

Edit/Delete Message

8 Years
Discussion Span
Last Post by mitcrellim


Did you ever get this figured out? The string can't be parsed as xml because the < and > characters are missing. I am having the same issue and trying to solve this as well.


I thought I would update how I hacked the response to get what I expected. I got the responseData from the soap object, removed the soap header and trailer information, converted &lt; to < and &gt; to >. Below is a sample code snippet.


$response = $soap->responseData;
  // force clean up the soap junk
  // find the position of the soap:Body location.
  $leadin = '<soap:Body>';
  $pos = strpos($response, $leadin);
  if ($pos !== false) {
    $response = substr($response, $pos + strlen($leadin));
  $leadout = '</soap:Body></soap:Envelope>';
  $response = substr($response, 0, 0 - strlen($leadout));
  // now change all &lt; and &gt; to < and > 
  $response = str_replace('&lt;',"<",$response);
  $response = str_replace('&gt;',">",$response);
  // and get rid of the xml encoding buried in the response.
  $response = str_replace('<?xml version="1.0" encoding="UTF-8"?>',"",$response);
  // now throw it into a simplexml object
  $SExml = new SimpleXMLElement($response);
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.