4 Replies Latest reply on Jan 18, 2012 10:11 AM by Rohit . Kumar

    HTTP Server.Error.Request error on EXTERNAL SERVER

    ajdove Level 1

      I am fit to be tied! I have been battling this HTTP Server Request error for hours. I have read through the blogs, boards, and other sites with great information, however, I still fail to get my app working. Uggh! The application continues to fail.

       

      Environment:

      1. Using an external server

      2. Have complete control over server

      3. Running Coldfusion 8

      4. Using Flex Builder 3

      5. SQL 2005

       

      Situation:

      I am trying to create a simple connection between my Flex application, Coldfusion, and SQL 2005. I am taking baby steps and using a pre-tested example using Friends of ED Foundation "Flex for Developers" book detailing the following code examples.  My file DBtestCFM_app.html calls the swf file which calls the messageboard.cfm file and calls the crossdomain.xml file.

       

      I have the crossdomain.xml file at the root of the mydomainname folder.

       

      Flex MXML:

       

      <?xml version="1.0" encoding="utf-8"?>

      <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="messageRequest.send()">

       

      <mx:HTTPService id="messageRequest" useProxy="false" method="POST" resultFormat="e4x" url="http://mydomainname.com/flex/DBtestCFM_app.html">

      <mx:request xmlns="">

      <emailaddress>{emailaddress.text}</emailaddress>

      <message>{message.text}</message>

      <messagetopic>{messagetopic.text}</messagetopic>

      <postername>{postername.text}</postername>

      </mx:request>

      </mx:HTTPService>


      <mx:StringValidator id="nameSV" source="{postername}"

      property="text" trigger="{btnSubmit}" triggerEvent="click"/>

      <mx:StringValidator id="emailSV" source="{emailaddress}"

      property="text" trigger="{btnSubmit}" triggerEvent="click"/>

      <mx:StringValidator id="topicSV" source="{messagetopic}"

      property="text" trigger="{btnSubmit}" triggerEvent="click"/>

      <mx:StringValidator id="messageSV" source="{message}"

      property="text" trigger="{btnSubmit}" triggerEvent="click"/>


      <mx:VBox x="10" y="10">

      <mx:DataGrid id="dgMessage" x="25" y="200"

      dataProvider="{messageRequest.lastResult.posting}">

      <mx:columns>

      <mx:DataGridColumn headerText="Poster Name"

      dataField="postername" width="200"/>

      <mx:DataGridColumn headerText="Email Address"

      dataField="emailaddress" width="200"/>

      <mx:DataGridColumn headerText="Message Topic"

      dataField="messagetopic" width="200" />

      </mx:columns>

      </mx:DataGrid>


      <mx:TextArea height="100" width="400"

      text="{dgMessage.selectedItem.message}"/>


      <mx:Form x="25" y="10" width="500">

      <mx:FormItem label="Your Name:"

      required="true">

      <mx:TextInput id="postername" />

      </mx:FormItem>

      <mx:FormItem label="Email Address:"

      required="true">

      <mx:TextInput id="emailaddress" />

      </mx:FormItem>

      <mx:FormItem label="Message Topic:"

      required="true">

      <mx:TextInput id="messagetopic" />

      </mx:FormItem>

      <mx:FormItem label="Message"

      required="true">

      <mx:TextArea id="message" />

      </mx:FormItem>

      <mx:Button id="btnSubmit" label="Submit"

      click="messageRequest.send()"/>

      </mx:Form>

      </mx:VBox>



      </mx:Application>

       

      Messageboard.cfm

       

      <cfprocessingdirective suppresswhitespace="yes" pageencoding="utf-8">

      <cfif isDefined("emailaddress") AND isDefined("message")

      AND isDefined("messageTopic") AND isDefined("postername") AND

      emailAddress NEQ "" AND message NEQ "" AND messageTopic NEQ ""

      AND postername NEQ "">

      <cfquery name="addInfo" datasource="#application.dsn.name#" username="#application.dsn.user#" password="#application.dsn.pwd#">

      INSERT INTO messageData(emailaddress, message, messagetopic,

      postername) VALUES("#emailaddress#"," #message#"," #messagetopic#"," #postername#")

      </cfquery>

      </cfif>

      <cfquery name="allInfo" datasource="#application.dsn.name#" username="#application.dsn.user#" password="#application.dsn.pwd#">

      SELECT ID, emailaddress, message, messagetopic, postername

      FROM messageData

      </cfquery>


      <cfxml variable="messageXML">

      <posters>

      <cfloop query="allInfo">

      <cfoutput>

      <posting>

      <id>#id#</id>

      <emailaddress>#emailaddress#</emailaddress>

      <message>#message#</message>

      <messagetopic>#messagetopic#</messagetopic>

      <postername>#postername#</postername>

      </posting>

      </cfoutput>

      </cfloop>

      </posters>

      </cfxml>

      <cfoutput>#messageXML#</cfoutput>

      </cfprocessingdirective>

       

      Crossdomain.xml

       

      <?xml version="1.0"?>

      <!DOCTYPE cross-domain-policy SYSTEM " http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">

      <cross-domain-policy>

      <site-control permitted-cross-domain-policies="all"/> 

      <allow-access-from domain="*" to-ports="*" />

      <allow-http-request-headers-from domain=”*” headers=”SOAPAction”/>

      </cross-domain-policy>

       

        • 1. Re: HTTP Server.Error.Request error on EXTERNAL SERVER
          ajdove Level 1

          I have attached a screenshot of the error and application in the browser.

          • 2. Security error accessing url
            ajdove Level 1

            I am getting a new error: Security error accessing url"

             

            I have attached a screenshot.

            • 3. Re: Security error accessing url
              Murtaza_Ghodawala Level 1

              Hi All,

               

              I am using Flash Builder 4.6/AIR 3.1.0. I am using RESTful web service to get XML results and to display on my mobile application. I am getting the same below error when accessing the webservice from mobile app (Android - Galaxy Tab 7 inch).

               

              Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error # 2032"] URL: http://adfdevp.alshaya.com:7013/RESTEmployeeDetails-EmployeeDetails-context-root/jersey/re stlabhttp://adfdevp.alshaya.com:7013/RESTEmployeeDetails-http://adfdevp.alshaya.com:7013/RESTEmployeeDetails-EmployeeDetails-context-root/jersey/re stlabEmployeeDetails-context-root/jersey/restlab

               

              The same code is working in Flash Builder 4.6. I have checked Network Monitor to "Disabled" before deploying to mobile. What am i doing wrong here? I am pasting my code below-

               

               

              <?xml version="1.0" encoding="utf-8"?>
              <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" xmlns:dao="dao.*"
                xmlns:mx="library://ns.adobe.com/flex/mx">

              <fx:Script>
                <![CDATA[
                 import mx.collections.ArrayCollection;
                 import mx.collections.IList;
                 import mx.collections.XMLListCollection;
                 import mx.events.FlexEvent;
                 import mx.rpc.events.FaultEvent;
                 import mx.rpc.events.ResultEvent;
                 import mx.rpc.xml.SimpleXMLDecoder;
                 import mx.utils.ArrayUtil;
                
                 import valueObjects.EmployeeDetail;
                 [Bindable]
                 private var myXml:XML;
                
                 [Bindable]
                 public var resultCollection:IList;
                 public function handleXml(event:ResultEvent):void
                 {
                  var xmlListCollection:XMLListCollection = new XMLListCollection(event.result.children());
                  var xmlListCollectionValues:XMLListCollection = new XMLListCollection(event.result.emp.children());
                  var resultArray:Array = xmlListCollection.toArray();
                  var resultArrayValues:Array = xmlListCollectionValues.toArray();
                 
                 
                  var objEmployeeDetails:EmployeeDetail;
                  var resultCollection:ArrayCollection = new ArrayCollection();
                 
                  var j:int = 0;
                  for(var i:int=0;i<resultArray.length;i++){
                  
                   objEmployeeDetails = new EmployeeDetail();
                   objEmployeeDetails.brand = resultArrayValues[j];
                   objEmployeeDetails.division = resultArrayValues[j+1];
                   objEmployeeDetails.email = resultArrayValues[j+2];
                   objEmployeeDetails.employee_name = resultArrayValues[j+3];
                   objEmployeeDetails.employee_number = resultArrayValues[j+4];
                   objEmployeeDetails.grade = resultArrayValues[j+5];
                   objEmployeeDetails.mobile = resultArrayValues[j+6];
                   objEmployeeDetails.position = resultArrayValues[j+7];
                  
                   j = j + 8;
                   resultCollection.addItem(objEmployeeDetails);
                  
                  }
                  list.dataProvider = resultCollection;
                  //return resultCollection;
                 }
                
                 public function handleFault(event:FaultEvent):void
                 {
                  //Alert.show(event.fault.faultDetail, "Error");             
                 }
                
                 protected function sesrchEmployee():void
                 {
                  xmlRpc.send();
                 }

                
                ]]>
              </fx:Script>


              <fx:Declarations>
                <dao:EmployeeDAO id="srv"/>
               
                <mx:HTTPService id="xmlRpc"
                    url="http://adfdevp.alshaya.com:7013/RESTEmployeeDetails-EmployeeDetails-context-root/jersey/re stlab"
                    result="handleXml(event)"
                    fault="handleFault(event)"
                    resultFormat="e4x" showBusyCursor="true">
                 <mx:request xmlns="">
                  <data>{key.text}</data>
                  <data>{key1.text}</data>
                 </mx:request>
                </mx:HTTPService>
               
               
              </fx:Declarations>

              <s:navigationContent/>

              <s:titleContent>
                <s:VGroup width="100%">
                <s:HGroup width="100%">
                 <s:Label top="40" paddingTop="10" paddingRight="13" height="29" text="Employee Name:"/>
                 <s:TextInput id="key" width="559"/>
                </s:HGroup>
                <s:HGroup width="100%">
                 <s:Label height="30" paddingTop="10" text="Employee Number:"/>
                 <s:TextInput id="key1" width="100%"/>
                </s:HGroup>
               
                </s:VGroup>
              </s:titleContent>

              <s:actionContent>
                <s:Button icon="@Embed('assets/search.png')" click="sesrchEmployee()"/> 
              </s:actionContent>

              <s:List id="list" top="0" bottom="0" left="0" right="0" 
                 change="navigator.pushView(EmployeeDetails, list.selectedItem)">
                <s:itemRenderer>
                 <fx:Component>
                  <s:IconItemRenderer label="{data.employee_name}"
                       messageField="position">
                  </s:IconItemRenderer>
                 </fx:Component>
                </s:itemRenderer>
              </s:List>

              </s:View>

               

              Appreciate your quick response in this regard.

               

              Thanks,

               

              Murtaza Ghodawala

              Mobile: +965 97180549

              murtaza.ghodawala@alshaya.com

              • 4. Re: Security error accessing url
                Rohit . Kumar Adobe Employee

                Hi Murtaza,

                 

                This could happen because the HTTPService cannot find the URL. Some things to try out:

                1. Is the service accessible at http://adfdevp.alshaya.com:7013/RESTEmployeeDetails-EmployeeDetails-co ntext-root/jersey/restlab? The URL looks suspect with "-context-root" in it.

                2. Take a look at the following page: http://cookbooks.adobe.com/post_Flex_Error__2032__Stream_Error-17265.html. It talks about catching the fault event and getting more info.

                 

                Rohit

                1 person found this helpful