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] 

 

Reply via email to