8 Replies Latest reply on Aug 10, 2007 12:52 PM by Caffeinerabbit

    Blackboard VISTA


      I created an application in Flex2 and tried to import in Blackboard VISTA (new version of WebCT, LMS). I have this error message. It looks like VISTA does not allow to pass HTTPService. Please help needed. Thank you.

      [RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP"]
      at mx.rpc::AbstractInvoker/ http://www.adobe.com/2006/flex/mx/internal::faultHandler()
      at mx.rpc::Responder/fault()
      at mx.rpc::AsyncRequest/fault()
      at ::DirectHTTPMessageResponder/securityErrorHandler()
      at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
      at flash.events::EventDispatcher/dispatchEvent()
      at flash.net::URLLoader/flash.net:URLLoader::redirectEvent()
        • 1. Re: Blackboard VISTA
          John_Fact Level 1
          Please any help?
          • 2. Re: Blackboard VISTA
            chris.huston.t10 Level 3
            I don't know much about the Blackboard VISTA API, but if HTTPService is not accepted, then you might want to look at using the ExternalInterface API from Flex. This API allows you to call JavaScript functions which might be able to allow you to interface with your Blackboard system. If you could post some more info about what Blackboard accepts, that might help to find a solution.

            • 3. Re: Blackboard VISTA
              John_Fact Level 1
              Thank you for your reply.
              The Blackboard has its own API for authentication and web services. Web services are grade book, chat, calendar, and etc. As long as I know the Blackboard does not limit on HTTP service. If anything works on the web browser the Blackboard will take it. If you could elaborate a little bit more what information that I have to look up for Blackboard in terms of "acceptance" by the Blackboard.

              Here is the process what I was thinking to serve this Flex application works with Blackboard system:
              1. I created mxml file and compiled
              2. I uploaded all files such as html, xml, javascript, and etc into the Blackboard file storage.
              3. I made one link in the Blackboard from course content page for the .html file. I thought the html file is a file which will be hit by users.

              When I performed these three steps I had confronted with the error message posted on the first post.

              Thank you for your help and expect to hear.

              • 4. Re: Blackboard VISTA
                chris.huston.t10 Level 3
                It is difficult to say what is causing the error without knowing what you are doing in your flex app. Please post your code so we can try to figure out the problem.

                • 5. Re: Blackboard VISTA
                  John_Fact Level 1
                  Thank you for your help. Here is the code. There are two mxmls but I joined them here.
                  -------------------------------- PhotoSearch.mxml -----------------------------------------------------------------------------
                  <?xml version="1.0" encoding="utf-8"?>
                  <mx:Application xmlns:mx=" http://www.adobe.com/2006/mxml" layout="absolute">

                  <mx:HTTPService id="service" url=" http://www.flickr.com/services/rest/?method=flickr.photos.search&amp;api_key=a7c643c2f86d8 baf1b511868f24e58d0&amp;per_pate=9&amp;tags={input.text}"/>
                  <mx:State name="results">
                  <mx:SetProperty target="{panel1}" name="width" value="100%"/>
                  <mx:SetProperty target="{panel1}" name="x"/>
                  <mx:SetStyle target="{panel1}" name="horizontalCenter" value="0"/>
                  <mx:SetProperty target="{panel1}" name="y"/>
                  <mx:SetStyle target="{panel1}" name="verticalCenter" value="0"/>
                  <mx:SetProperty target="{panel1}" name="height" value="100%"/>
                  <mx:AddChild relativeTo="{canvas1}" position="lastChild">
                  <mx:TileList dataProvider="{service.lastResult.rsp.photos.photo}" itemRenderer="thumnail" width="619" height="314" horizontalCenter="0" verticalCenter="14"></mx:TileList>
                  <mx:Panel x="147" y="10" width="338" height="82" layout="absolute" title="Photos" id="panel1" resizeEffect="Resize">
                  <mx:Canvas height="100%" width="100%" id="canvas1">
                  <mx:Label x="25" y="10" text="Tags"/>
                  <mx:TextInput x="65" y="8" id="input"/>
                  <mx:Button x="253.5" y="8" label="Find" click="currentState='results'; service.send()"/>


                  --------------------------------------------- end of PhotoSearch.mxml --------------------------------------------------------

                  -------------------------------------------- thumnail.mxml -----------------------------------------------------------------------
                  <?xml version="1.0" encoding="utf-8"?>
                  <mx:VBox xmlns:mx=" http://www.adobe.com/2006/mxml" width="300" height="150" horizontalScrollPolicy="off" verticalScrollPolicy="off" borderStyle="none">
                  <mx:Fade id="fade" target="{this}" />
                  <mx:Image id="img" source=" http://static.flickr.com/{data.server}/{data.id}_{data.secret}.jpg" completeEffect="fade.playEffect()" />
                  -------------------------------------- end of thumnail.mxml -------------------------------------------------------------------
                  • 6. Re: Blackboard VISTA
                    I think we need a explicit explanation of what your Flex app is trying to accomplish; from the code, it looks like you're trying to contact Flickr - so does that mean that the application is being hosted on Blackboard, and is trying to grab data from Flickr?

                    If that's the case, then the error in your first post describes what's going on here: the application is being hosted on Blackboard's server, so it'll have Blackboard's domain name (ie www.blackboardvista.com or something similar), where as your app is trying to contact a service at flickr (static.flickr.com).

                    In Flash 9, if the application's domain and the service's domain do not match up, the application will check for a file named 'crossdomain.xml' at the service's root level - i.e. http://static.flickr.com/crossdomain.xml . If this file exists, then Flash checks to see if it has permission to access the desired webservice and responds accordingly; if it doesn't exist, then your app will not allow contact with the webservice.

                    If you go to the link above, you'll notice that no crossdomain.xml file exists, which means that you'll have to contact flickr's webservice using a proxy, or check if they have other services available.
                    • 7. Re: Blackboard VISTA
                      John_Fact Level 1
                      Thank you for your help.

                      I tried to compile in my own computer and it worked. Is there any difference accessing to Flickr from my own computer and Blackboard? If I did not misunderstood your reply, I thought HTTPService will grab the object through SOAP and throw into my application. Thank you.

                      • 8. Re: Blackboard VISTA
                        Caffeinerabbit Level 1
                        The only difference I could think of that would allow you to access Flickr from your computer, and not from Blackboard, would be that you're accessing it while in debug mode. If I remember correctly, Flex doesn't check for a crossdomain.xml file while in debug mode, but will do so when you go live.

                        You might try using as3flickrlib - http://code.google.com/p/as3flickrlib/ - which is an open-source Flex library specifically created for accessing Flickr.