Actionscript 3 :: Difference Between RemotingServices, WebServices And HTTP In Flex
Jul 14, 2010
We use 3 types of services in Flex; HTTP, Remoting and WebServices and would like to increase my understanding about their use cases. As far as I understand,
Remoting can be used only in homogeneous environment like Flex-RubyOnRails (through RubyAMF) while Webservices can be used in Heterogenous environment using SOAP protocol. Remoting has advantage of native object support that web services don't have. That also means no parsing/extraction will be required in former. Now, talking of HTTP services, they dont support complex operations or parameter passing and can be used for only basic operations.
I have a flex app that loads a WSDL at runtime and shares that across several different web services I have defined. Unfortunately each call to loadWSDL() makes a network request for it, and while it's not really a problem due to caching it's still annoying and wasteful to have all those requests generated. Is there a simpler way to solve this problem and only make one network request?[code]
look im facing a problem. I have .NET + Flex application. I have a component in Flex who uploads a .XLS file to the server. This component has a Progress Barand it updates its bar and the Label with the
Sometimes (too often...) some webservices "hang". I can see the clock cursor in my app and the network monitor of FB2 shows the webservice as "pending". After waiting a long time, the status changes to "OK" and the clock cursor disappears. How can I find out why a webservice takes sometimes minutes while it usually takes not even a second?
My webservices run on my localhost during development using the Zend AMF Server.
I have to deploy a webapp on Tomcat 6.0.24, serving some webservices that should be accessed with REST-style methods (not fully REST, since the used flex class HTTPService can just send GET and POST).
The webservices are deployed at [URL]
The problem is that the policy of flex sandbox (i think it is called so) requires that the server with the services has to offer a file crossdomain.xml on his root directory.
I created that file with the following contents:
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy>
[Code].....
I am testing it and it does not seem to work. Maybe i am not doing it right. PS: I think Apache is not configured to manage Tomcat-addressed requests, every request is dispatched by port, i think. I can not provide the exact flex error since i am not developing that part. I will try to make a minimal example in the next hours and see if i can reproduce the problem.
I am trying to access a .Net service which requires an authentication header. If WebService is used it works fine. But when it is accessed using HTTPService it throws error. The project is already done by somebody else using HTTPService. Now changing to webService requires some time since there needs to be modification in a lot of files.
Below is the SOAP envelop required by the service.
I'm working though the Adobe "Flex in a Week" video training series, and I've reached Exercise 9, which deals with creating a remote service call. Up til this point, the data source and images have been local assets (located in src/assets in my Flash Builder project). I access the room list by this:
private function httpFaultHandler(event:FaultEvent):void{ Alert.show("There was a problem","Error"); }[code]...........
However, when I run the application in the blazeDS container, I get no rooms despite the fact that the room list clearly exists in the deployment directory after running the application:
How can I debug the reason for this failure? The deployment process used by the Flash Builder tool is fairly opaque, and the tomcat instance isn't advertising 404s from Flex apps. Is there logging somewhere, or something, that needs to be turned on?
I've written a Flash (Flex) client connecting to a back-end server to exchange data. I've also written my server from scratch, and it serves two purposes:
(1) Web (HTTP) Server- By default listens on port 80
(2) Socket/Application- Server - By default listens on port 443
Just FYI, both servers run in the same process space, for convenience reasons. They are not expected to handle massive loads, so I'm fine with that. As soon as the Flash client is served to the browser from the HTTP socket, the client attempts to open an XMLSocket to the Socket/Application server. I now want to implement HTTP tunneling, so that my client can connect to the Application server even if the user is behind a firewall. I do not want any external servers involved (proxies etc.) - simply use the servers I already have.
My questions:
(1) Is it better to use port 443 for that? (does it better fool firewalls?)
(2) As far as I can see, what I am required to do, is just ensure that my actual application data is simply encapsulated in an HTTP structure (preceded by a dummy HTTP header), both from the client and server sides. Is that so or am I missing anything here?
(3) Do I need to keep hiding/encapsulating my data every message I send through the socket, or can I just encapsulate the first message when opening the connection?
I use this resultHandler and instead of using my data with four(4) separate field I would like to use the following code in one field. and as a one line read out? E.g (title + "." +firstName + " " + middleName + " " + last Name) = (Mr. Harald E. W. Buttweiser). I get it with static Xml e.g. models but cant find the right way to get it with my Http!
We have a Flex client and a server that is using the Spring/Blazeds project. After the user logs in and is authenticated, the spring security layer sends a redirect to a new URL which is where our main application is located. However, within the flex client, I'm currently using HTTPService for the initial request and I get the redirected page sent back to me in its entirety. How can I just get the URL so that I can use navigatetourl to get where the app to go where it needs to?
I have used wsdl2js to generate the javascript needed to communicate with the service.However I end up getting a http 500 error and have not been able to get past that. I have looked through the provided examples from the Apache CXF download and I have done some searching and cannot find a solid example of creating the javascript client. A lot of examples seem to somehow access the wsdl file at runtime from a server but my javascript is already generated from the CXF tool and I just include the scripts.
Adobe Flex and AS3Another option I have considered is using Adobe Flex. I create a new Mobile Flex project in Flash Builder using the BlackBerry PlayBook SDK and Flex 4.5. However when I use the menu options to connect to a web service I get prompted with "This option is only available for flex projects."Are there any other options out there that provide a solution to this problem? If you need more information just let me know
Using the Webservices connector, I'm able to connect to any public webservice but when I try the same method to connect to a webservice that requires authentication I get URL not found error.Is there a way to pass the web-services credentials through Flash or any work around?
response of one operation is input to the another operation of the same webservice.. like I need to invoke multiple webservices at time.. using actionscript. I need to develop an widget.. As soon as I invoke the widget it should go and invoke the multiple webservices with different operations on each webservices and populate the meta data of the services in the visual components present in the widget.
I am getting problems in making calls to Web Services in AS3. Since Adobe has removed the built-in classes for AS3. It brings a lot of headache for programmers.I am currently using Alducente classes for the same. Tweaked it according to my requirement. Still some issues left.[code]
I'm just getting started connection to webserivces and I have looked at a lot of tutorials and I get most of them to work but I'm having a little bit of a problem. I'm coding in eclipse with the flex plug-in and I'm using flash to complile it. I'm trying to come up with a generic class for my webservices where I can just pass in the wsdl and any params and it will run. I'm using the webservicex for my wsdl in this example. Here is the code below and it works great and returns an XML.
[code]...
Now the problem. I have a specific wsdl, NOT THE ONE ABOVE, that I pass in a lot of params, which isn't a problem, and it seems to be sending them all just fine but when I trace the result I keep getting [object, object]. how to turn this into and XML, or why it is coming back as an object?
So I want to read http streams using flash tcp sockets. I do not really need the http header at all - all I need is body which contains flv. so how to read http response body into byte array using flash sockets?
I am trying to create a simple board game (a kind of checkers), where users will be able to play online with each other using flex application as a client.
I am using django application to process the game on the server side. And I come across the problem, if one user made a move, I can send it to a server, but how do I let the opponent know about it?
The way I am thinking to do it is to create a timer and send requests to the server asking was opponents move done or not....But here we have 2 limitations:
1) Each client would produce big amount of requests (not sure how server will work if I have e.g 100 such clients)
2) If players will chose game with a time limit for example 5 minutes/per game it will be very important to show them situation on the board as soon as it changes (without a pause), but timer will send request only on timer event, so if for example I will chose tick interval to 5 seconds it will mean that 5 seconds another side will not be aware of the situation changes.
I've got a simple YouTube API client put together, written in Flex, that uses a plain ol' URLRequest object to handle Google's "ClientLogin" authentication scheme. Everything works perfectly, except for one case: when Google responds with a 403 and a response body indicating that I should prompt the user for additional information (specifically, a CAPTCHA request).
The problem I'm having is that in this case, I need to be able to retrieve the body of the 403 response, as the body contains information Google expects me to use to assemble the CAPTCHA (e.g., an image URL, etc.). It looks like Flash fails to populate the URLLoader's data property when it encounters a 403 (which is where the response body would normally show up), so I can't tell the difference between a "403: Login Failed" and a "403: Login Succeeded, but We Want a CAPTCHA".
As a backup, I figured I'd have a look at as3crypto's TLSSocket code, but I haven't been able to make any of that stuff work with Google (or even one of my own SSL certs, for that matter).
Is it possible to access the body ofa 403 response with Flash (and if so, how)? And if not,Does anyone have personal experience with a suitable workaround?
I am building a FLEX web application that also has a payment module where the user needs to enter his credit card details.
The whole Flex application runs on HTTP. However, whenever the user lands on a page where we ask for credit card details, we want these details to be sent over HTTPS.In this page we need information from the model of the application, because it holds certain selection the user did, the state the application is in, etc.
Do I need to make this page a Module that runs on HTTPS?
Or can I just configure the specific 'credit card' services (we have a JAVA back end) so that these run on HTTPS?
I am trying to send a simple HTTP message from Flex to C# server, but it seems that I am getting tow calls, first is the real one and the second is an empty one.
Why is that and how can I handle it?
This is my C# code:
TcpListener listener = new TcpListener(IPAddress.Any, 9400); listener.Start(); Console.WriteLine("Server started");
[Code].....
I been trying to send a true HTTP response a notice another thing, the second call is coming without waiting for the first call, if I am putting the response thread to short sleep(100 milliseconds in my test) then I am getting the second call before I been able to response for the first one.