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:* flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] *On > Behalf Of *Josh McDonald > *Sent:* Wednesday, June 18, 2008 10:19 AM > *To:* flexcoders@yahoogroups.com > *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 flexcoders@yahoogroups.com, "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: flexcoders@yahoogroups.com > [mailto:[EMAIL PROTECTED] On > > Behalf Of Mark > > Sent: Tuesday, June 17, 2008 9:34 AM > > To: flexcoders@yahoogroups.com > > 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 flexcoders@yahoogroups.com <mailto:flexcoders% <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]