I'm still running naked, but am getting a better grip on this stuff. But.... here was my break, NOT!!
The company was nice enough to put me on their crossdomain file. So, I'm thinking good, but I was wrong. I still get a security violation.... FaultEvent fault=[RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTPS"] messageId=null type="fault" bubbles=true cancelable=true eventPhase=2 What is up with that. I thought that the cross-domain file would handle that. Here is the cross domain file on the root of the wsdl service <?xml version="1.0" encoding="UTF-8"?> <!-- the purpose of this document is to allow FLASH web applications to access the APIs. --> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*.shipnotic.com"/> </cross-domain-policy> I am at https://www.shipnotic.com and am accessing a wsdl at https:// at well. anybody know why this is still happening with crossdomain support? Thns, --- In flexcoders@yahoogroups.com, "valdhor" <valdhorli...@...> wrote: > > I would love to know too but after running around naked and sacrificing some > chickens I could not get it to work. > > All I know is that you will actually save time by doing the hand coding. > Maybe some day we'll have an answer but that day is not today. > > > HTH. > > > > > Steve > > --- In flexcoders@yahoogroups.com, "Joshua" <wolf@> wrote: > > > > Thanks for the advice Steve. So to do that I'm gonna need to 'hand-code' > > all the calls from Flex to php and then do the same with php, creating all > > the methods by hand from the wsdl? Isn't there a simpler way to do it > > using the Flex wsdl wizard and a php proxy that just passes through the > > soap request? And either way I do it I still want to know why the way I'm > > attempting to do it won't work. Why does going through php change my soap > > envelop and create a mismatch I guess is the big question?? > > > > > > --- In flexcoders@yahoogroups.com, "valdhor" <valdhorlists@> wrote: > > > > > > I think you may be over thinking this. > > > > > > I have the same situation as you - a local PHP server and a remote Web > > > Service. > > > > > > I tried for a long time to get it working by proxying through PHP like > > > what you are trying. I could never get it to work. > > > > > > Instead, I created a SOAP Client in PHP that could talk to the Web > > > Service. Once this was working I used WebORB to create a service to talk > > > to Flex. Then I merged the code. Now I have Flex sending and receiving > > > objects via WebORB and PHP exchanging data via SOAP. The best of both > > > worlds. > > > > > > > > > HTH > > > > > > > > > > > > > > > Steve > > > > > > --- In flexcoders@yahoogroups.com, "Joshua" <wolf@> wrote: > > > > > > > > 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 > > > > > > > > > >