I have a problem with soap and flex 3. I have created a webservice through the import webservice menu in Flex Builder. If I use the service as is I get a security error because the crossdomain policy on the remote server doesn't comply. So, instead I am using a php proxy to relay the webservice through my server and out to the webservice back to the server back to Flex. When I try to do this I get a SOAP mismatch error coming from the below code.
else if (envNS.uri != SOAPConstants.SOAP_ENVELOPE_URI) { throw new Error("SOAP Response Version Mismatch"); } I went back in and checked the value of envNS.uri and SOAPConstants.SOAP_ENVELOPE_URI in both the previously described situations (php proxy and straight security riddled call). In the security riddled call the two variables match. In the proxy call I get back differing values of envNS.uri and SOAPConstants.SOAP_ENVELOPE_URI. Can somebody tell me why the variables are not matching when put through the php proxy. The php is simple, just curl, so I've pasted it below. ///////START PHP SNIPPET $url = $_GET['url']; $headers = $_GET['headers']; $mimeType = $_GET['mimeType']; //Start the Curl session $session = curl_init(); // Don't return HTTP headers. Do return the contents of the call curl_setopt($session, CURLOPT_URL, $url); curl_setopt($session, CURLOPT_HEADER, ($headers == "true") ? true : false); curl_setopt($session, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($session, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($session, CURLOPT_RETURNTRANSFER, 1); // Make the call $response = curl_exec($session); if ($mimeType != "") { // The web service returns XML. Set the Content-Type appropriately header("Content-Type: ".$mimeType); } echo $response; curl_close($session); //END PHP SNIPPET Any help would be great. Thanks, Josh