Hi Charles,

 

Yes, that’s right.

 

If you want to access a web service on a different machine than the machine you’re hosting your application you have to develop some sort of a proxy on your own machine. Flex can then connect to this proxy (no security issues there), and the proxy can then connect to the desired web service. The examples given in this thread are (I think) referring to the Flex Data Services component, but I would use my own proxy web service.

 

Anyway, you do need some active component on the server you are hosting your service. That’s the security model of Flash/Flex. Otherwise, in principle, you could spam the entire world with your Flex application... :).

 

Cheers,

Franck

 

 

 

 

 


From: [email protected] [mailto:[email protected]] On Behalf Of Charles
Sent: Tuesday, August 01, 2006 10:26 PM
To: [email protected]
Subject: [flexcoders] Re: Problems making SOAP calls via WSDL file

 

Oh, so what you're saying is that even though I am running locally,
since the SOAP call invokes a remote operation not hosted on my
machine, it should fail anyways? So I can't make a successful API
call with Flex, at least not until I get my IP put on a crossdomain on
the Google server? Is that right?

Charles

--- In [EMAIL PROTECTED]ups.com, "Franck de Bruijn"
<franck.de.bruijn@...> wrote:
>
> I checked the WSDL with SOAPUI and the WSDL looks fine.
>
>
>
> I do see however that the WSDL is of the type doc/literal. I have
had some
> serious issues with that connecting with Flex to such a web service
> back-end. I have not verified if the final release of Flex 2 has
resolved
> all these issues. I never encountered issues like Charles described,
so this
> statement probably does not apply.
>
>
>
> With respect to 'running the files locally' the following: if you
are using
> the WSDL that you pointed out to us, it contains the following section:
>
>
>
> <wsdl:service name="ReportService">
>
> <wsdl:port binding="api:ReportServiceSoapBinding"
> name="ReportService">
>
> <wsdlsoap:address
> location="https://adwords.google.com/api/adwords/v4/ReportService"/>
>
> </wsdl:port>
>
> </wsdl:service>
>
> You might actually load the WSDL successfully from your local
machine (if
> you include it with your app-distribution), but once you try to
invoke an
> operation (as you describe in your first mail) it should fail, since
the web
> service itself is hosted on a different machine (I presume that
> 'adwords.google.com' is not your machine).
>
>
>
> Even here some easy-to-miss subtleties can arise: if you load your
flex app
> from e.g. 'localhost' and the WSDL points to your local machine but
with a
> different name (like 127.0.0.1), it will still fail. At least,
that's what I
> experienced from testing.
>
>
>
> Cheers,
>
> Franck
>
>
>
> _____
>
> From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On
> Behalf Of Dave Wolf
> Sent: Tuesday, August 01, 2006 6:21 PM
> To: [EMAIL PROTECTED]ups.com
> Subject: [flexcoders] Re: Problems making SOAP calls via WSDL file
>
>
>
> Do you have any kind of proxy tool, like the SOAPMonitor or Tcptunnel
> where you can see the response coming back?
>
> --
> Dave Wolf
> Cynergy Systems, Inc.
> Adobe Flex Alliance Partner
> http://www.cynergys <http://www.cynergysystems.com> ystems.com
> http://www.cynergys <http://www.cynergysystems.com/blogs>
ystems.com/blogs
>
> Email: [EMAIL PROTECTED] <mailto:dave.wolf%40cynergysystems.com>
stems.com
> Office: 866-CYNERGY
>
> --- In [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
ups.com,
> "Charles" <charles.bihis@> wrote:
> >
> > Hi Frank,
> >
> > Yes, you're right. I'm familiar with the need for the crossdomain.xml
> > file on server that I am making the calls to, but I don't think it's
> > necessary since I am running the files locally. As far as I know, if
> > the machine that I am running the files from, the client, is the same
> > as the machine hosting the files, then it's fine. Otherwise, if I
> > post these files to some web server and run them remotely, then my
> > client machine is different from the machine hosting the files, and in
> > that case I need the crossdomain.
> >
> > Either way, I am making a successful connection to the WSDL, but my
> > problem isn't actually with connecting. It's that when I make the RPC
> > through the WSDL, I get an error returned: "The request XML was
> > invalid". So that is currently where I'm hung up. Thanks for the
> > reply though.
> >
> >
> > Charles
> >
> > --- In [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
ups.com,
> "Franck de Bruijn"
> > <franck.de.bruijn@> wrote:
> > >
> > > Hi Charles,
> > >
> > >
> > >
> > > Due to the Flash security model, you cannot access a URL that is not
> > hosted
> > > on the same server your Flex application is hosted, unless a
> > crossdomain.xml
> > > is present (which does not seem to be, I checked).
> > >
> > >
> > >
> > > If you want to access a webservice on a different host, you have to
> > provide
> > > a proxy on your own server.
> > >
> > >
> > >
> > > See also the documentation on: Getting Started with Flex 2.0 >
> > Tutorials >
> > > Data: Use Web Services > Review your access to remote data sources.
> > >
> > >
> > >
> > > Cheers,
> > >
> > > Franck
> > >
> > >
> > >
> > > _____
> > >
> > > From: [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
ups.com
> [mailto:flexcoders@yahoogro <mailto:flexcoders%40yahoogroups.com>
ups.com]
> On
> > > Behalf Of Charles
> > > Sent: Monday, July 31, 2006 5:40 PM
> > > To: [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
ups.com
> > > Subject: [flexcoders] Problems making SOAP calls via WSDL file
> > >
> > >
> > >
> > > Hi everyone,
> > >
> > > I'm trying to make a SOAP call using this WSDL file:
> > > https://adwords.
> <https://adwords.google.com/api/adwords/v4/ReportService?WSDL>
> google.com/api/adwords/v4/ReportService?WSDL
> > >
> > > Through the WSDL, I'm trying to do a "getAllJobs" function calll,
> which
> > > takes no arguments. My code goes something like this...
> > >
> > > ...
> > >
> > > private function Init():void
> > > {
> > > var qname:QName = new
> > > QName("https://adwords. <https://adwords.google.com/api/adwords/v4>
> google.com/api/adwords/v4");
> > >
> > > header_email = new SOAPHeader(qname, {String:"email",
> > > String:"myemailhere"});
> > > header_password = new SOAPHeader(qname,
> > {String:"password",
> > > String:"mypasswordhere"});
> > > header_useragent = new SOAPHeader(qname,
> > > {String:"useragent", String:"Test call from with AS3"});
> > > header_token = new SOAPHeader(qname, {String:"token",
> > > String:"mytokenhere"});
> > >
> > > api_call.addHeader(header_email);
> > > api_call.addHeader(header_password);
> > > api_call.addHeader(header_useragent);
> > > api_call.addHeader(header_token);
> > > } // AddHeaders
> > >
> > > <mx:WebService id="api_call"
> > > wsdl="https://adwords.
> <https://adwords.google.com/api/adwords/v4/ReportService?WSDL>
> google.com/api/adwords/v4/ReportService?WSDL"
> > > service="ReportService" port="ReportService">
> > > <mx:operation name="getAllJobs" result="ResultHandler(event)"
> > > fault="FaultHandler(event)">
> > > <mx:request/>
> > > </mx:operation>
> > > </mx:WebService>
> > >
> > > ...
> > >
> > > I can connect to the webservice, but only to get an error
> returned; "The
> > > request XML was invalid"
> > >
> > > If anyone has any insight as to what I'm doing wrong, please let me
> > know.
> > >
> > > Thanks in advance!
> > >
> > >
> > > Charles
> > >
> >
>

__._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





SPONSORED LINKS
Web site design development Computer software development Software design and development
Macromedia flex Software development best practice


YAHOO! GROUPS LINKS




__,_._,___

Reply via email to