ROWR! I LOOOOVE Charles.
Rick Winscot From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Josh McDonald Sent: Wednesday, June 18, 2008 8:41 PM To: [email protected] Subject: Re: [flexcoders] Re: My Web Service with soap headers code no longer work with Flex 3 Hence me plugging Charles like I wrote the thing :) On Thu, Jun 19, 2008 at 8:03 AM, Rick Winscot <[EMAIL PROTECTED]> wrote: Josh - remember that one of the big issues with SOAP is that Flex doesn't understand anything beyond a 200 response. Rick Winscot From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Josh McDonald Sent: Wednesday, June 18, 2008 10:19 AM To: [email protected] Subject: Re: [flexcoders] Re: My Web Service with soap headers code no longer work with Flex 3 Looks to me like there's a problem with your namespaces in the bad request. I don't know much about soap headers, but where's that "radarXML" namespace coming from? The SOAP code in Flex 3 is stricter than Flex 2's, so besides a couple of bugs it behaves better than Flex 2's SOAP code, but often when migrating it will expose problems in your WSDLs or XSDs that appear to be bugs in Flex 3. It could be that there's something in your schema that is including the radarXML namespace for the outer <authheader> element, but your server isn't actually expecting that so it's complaining, and you were just lucky that flex 2's SOAP code didn't generate the request correctly. What's the server returning? A 500? If it's a SOAP fault, what does it say? One of the reasons you want to use Charles is that you can see the error codes when you get an error code from the server, whereas the browser hides the details from the Flash Player so they never make it back into Flex, often hiding very useful troubleshooting information. -Josh On Wed, Jun 18, 2008 at 11:46 PM, Mark <[EMAIL PROTECTED]> wrote: So I downloaded "Charles 3.2.1" to see what I'm getting. Running the code from 2.0.1 all is fine. But with 3.0 here's what I'm getting. <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> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>Server was unable to process request. --> Object reference not set to an instance of an object.</faultstring> <detail /> </soap:Fault> </soap:Body> </soap:Envelope> Under the "Request" top tab and "XML Text" bottom tab there's some differences: <!-- From 2.0.1 GOOD --> <SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <AuthHeader xmlns="http://tempuri.org/"> <UserName> admin </UserName> <Password> admin </Password> </AuthHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <PullXML xmlns="http://tempuri.org/" /> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <!-- From 3.0 BAD --> <SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <ns0:AuthHeader xmlns="http://tempuri.org/" xmlns:ns0="http://radar.us.na.ey.net/RadarXML.asmx"> <UserName> admin </UserName> <Password> admin </Password> </ns0:AuthHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <s0:PullXML xmlns:s0="http://tempuri.org/" /> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Another point to mention is that the swf and the wsdl sit in the same direcory on the server so a crossdomain file isn't necessary. But again, I can't get this to rum from Flex Builder. I also tested this with useProxy set to true and false. Setting it to false gives the same response, seting it to true shoot off new errors. It sounds like from what Rick was saying this is not an issue with the Flash Player as I'm using 9.0.124. This is an issue with Flex 3.0, is that correct? --- In [email protected], "Rick Winscot" <[EMAIL PROTECTED]> wrote: > > Tracy - actually, you are right on the money. The Authorization header was > blocked and then re-instated in 9.0.124. You can still work around the issue > if you compile in Flex 2.0.1 since the RPC bits are still intact there. > however - in 3.0 they have changed. > > > > From the 3.0.x Flex SDK - AbstractWebService.as > > > > " The username and password to authenticate a user when accessing the > webservice. These will be passed as part of the HTTP Authorization header > from the proxy to the endpoint. If useProxy is false this property will be > ignored." > > > > There is also the issue of allowing the header from your crossdomain file. > > > > http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403184 > > > > > Rick Winscot > > > > > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of Mark > Sent: Tuesday, June 17, 2008 9:34 AM > To: [email protected] > Subject: [flexcoders] Re: My Web Service with soap headers code no longer > work with Flex 3 > > > > HI, > > I guess what I'm not understanding is the fact that when I run this > code from Flex Builder 2 it works, but when I run it out of FB 3 it > doesn't. The Flash Player version would make sence to me but not > working in one and not the other. I'm using 9.0.124.0 Debug. > > HERE'S MY ERROR IN FB3: > > (mx.rpc::Fault)#0 > errorID = 0 > faultCode = "Server.Error.Request" > faultDetail = "Error: [IOErrorEvent type="ioError" bubbles=false > cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: > http://radar.us.na.ey.net/RadarXML.asmx"]. URL: > http://radar.us.na.ey.net/RadarXML.asmx" > faultString = "HTTP request error" > message = "faultCode:Server.Error.Request faultString:'HTTP > request error' faultDetail:'Error: [IOErrorEvent type="ioError" > bubbles=false cancelable=false eventPhase=2 text="Error #2032: > Stream Error. URL: http://radar.us.na.ey.net/RadarXML.asmx"]. URL: > http://radar.us.na.ey.net/RadarXML.asmx'" > name = "Error" > rootCause = (flash.events::IOErrorEvent)#1 > bubbles = false > cancelable = false > currentTarget = (flash.net::URLLoader)#2 > bytesLoaded = 0 > bytesTotal = 0 > data = (null) > dataFormat = "text" > eventPhase = 2 > target = (flash.net::URLLoader)#2 > text = "Error #2032: Stream Error. URL: > http://radar.us.na.ey.net/RadarXML.asmx" > type = "ioError" > > --- In [email protected] <mailto:flexcoders% <mailto:flexcoders%25> 40yahoogroups.com> , > "Tracy Spratt" <tspratt@> > wrote: > > > > Josh, I think you are right, the OP was not adding headers to the > HTTP request after all, and his header was not "Authorization", > which as you point out, is again allowed. > > > > > > > > Probably best to ignore me on this one! > > > > > > > > Tracy > > > > > > > > ________________________________ > ------------------------------------ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links http://groups.yahoo.com/group/flexcoders/ -- "Therefore, send not to know For whom the bell tolls. It tolls for thee." :: Josh 'G-Funk' McDonald :: 0437 221 380 :: [EMAIL PROTECTED] -- "Therefore, send not to know For whom the bell tolls. It tolls for thee." :: Josh 'G-Funk' McDonald :: 0437 221 380 :: [EMAIL PROTECTED]

