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] [mailto:[email protected]] On Behalf Of Dave Wolf
Sent: Tuesday, August 01, 2006 6:21 PM
To: [email protected]
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.cynergysystems.com
http://www.cynergysystems.com/blogs

Email: [EMAIL PROTECTED]stems.com
Office: 866-CYNERGY

--- In [EMAIL PROTECTED]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]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]ups.com
[mailto:[EMAIL PROTECTED]ups.com] On
> > Behalf Of Charles
> > Sent: Monday, July 31, 2006 5:40 PM
> > To: [EMAIL PROTECTED]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.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.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.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