Creating a cfhttp multi part form post for google docs upload

Hey all,
If you saw my last thread, you know I am working with google docs and uploading documents to it. Well I got basic document uploading working, but now I am trying to include meta data. Google requires you to include the metadata with the actual file data and seperate them by using a multi part form upload. I don't know exactly the process for doing so, but they have a handy code snippet of the desired results at
http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#UploadingDoc s
So I am basically trying to mimic that payload, however I am continually getting an error stating that there are no parts in a multi part form upload.
<errors xmlns='http://schemas.google.com/g/2005'><error><domain>GData</domain><code>InvalidEntryException</code><internalReason>No parts detected in multipart message</internalReason></error></errors>
to be exact. I am not really sure what I am doing wrong here. I figure it is one of two things, either I am not including the actual data in the payload properly (I am currently using a body type param for the payload, but I have also tried a formfield named content to deliver it. Neither worked). So maybe I need to do something else tricky there? The other thing which I am not reallly sure about is the content-length attribute. I don't know exactly how to calculate that, and I read in another forum that a content length attribute was messing that guy up. Right now I am just taking the lenght of the payload string and multiplying by 8 (to get the number of bytes for the entire payload) but hell if I know if that is right. It could be I just don't know how to set up the parts for the message, it seems pretty straight forward though. Just define a boundary in the content-type, then put two dashes before it wherever you define a new part, and two dashes trailing the last part.
Anyway, here is my code, any help is much appreciate. I'm a bit beyond my expertise here (not really used to trying to have to roll my own http requests, nevermind multipart post form data) so I'm kinda flailing around. Thanks again.
<cffunction name="upload" access="public" returnType="any" hint="I upload the document." output="false">
    <cfargument name="filePath" type="string" required="false" hint="file to upload.">
    <cfargument name="docType" type="string" required="yes" hint="The document type to identify this document see google list api supported documents">
    <cfargument name="parentCollectionId" type="string" required="no" hint="the name of the collection/collection to create (include collection%3A)">
    <cfargument name="metaData" type="struct" required="no" hint="structure containing meta data. Keyname is attribute name, value is the value">
    <cfset var result = structnew()>
    <cfset result.success = true>
    <cftry>
        <cfif structkeyexists(arguments,"parentCollectionId")>
                  <cfset arguments.parentCollectionId = urlencodedformat(parentCollectionId)>             
                  <cfset result.theUrl = "https://docs.google.com/feeds/default/private/full/#arguments.parentCollectionId#/contents">
            <cfelse>
                    <cfset result.theUrl = "https://docs.google.com/feeds/default/private/full/">
        </cfif>
         <cfoutput>
              <cffile action="read" file="#arguments.filePath#" variable="theFile">
            <cfsavecontent variable="atomXML">
                 Content-Type: application/atom+xml
                <?xml version='1.0' encoding='UTF-8'?>
                <entry xmlns="http://www.w3.org/2005/Atom" xmlns:docs="http://schemas.google.com/docs/2007">
                  <category scheme="http://schemas.google.com/g/2005##kind"
                      term="http://schemas.google.com/docs/2007###arguments.docType#"/>
                    <cfloop collection="#arguments.metaData#" item="key">
                        <#key#>#arguments.metadata[key]#</#key#>
                    </cfloop>
                </entry>
                --END_OF_PART
                Content-Type: text/plain
                #theFile#
                --END_OF_PART--
            </cfsavecontent>       
        </cfoutput>      
        <cfset result.postData = atomXML>
        <cfhttp url="#result.theUrl#" method="post" result="httpRequest" charset="utf-8" multipart="yes">
            <cfhttpparam type="header" name="Authorization" value="GoogleLogin auth=#getAuth()#">
            <cfhttpparam type="header" name="GData-Version" value="3">
            <cfhttpparam type="header" name="Content-Length" value="#len(trim(atomXML))*8#">           
            <cfhttpparam type="header" name="Content-Type" value="multipart/related; boundary=END_OF_PART">
            <cfhttpparam type="header" name="Slug" value="test file --END_OF_PART">
            <cfhttpparam type="body" name="content" value="#trim(atomXML)#">
        </cfhttp>
        <cftry>
               <cfset packet = xmlParse(httpRequest.fileContent)>
            <cfif httpRequest.statusCode neq "201 created">
                <cfthrow message="HTTP Error" detail="#httpRequest.fileContent#" type="HTTP CODE #httpRequest.statusCode#">
            </cfif>
            <cfset result.data.resourceId = packet.entry['gd:resourceId'].xmlText>
            <cfset result.data.feedLink = packet.entry['gd:feedLink'].xmlText>
            <cfset result.data.title = packet.entry.title.xmlText>  
            <cfset result.data.link = packet.entry.title.xmlText>    
            <cfcatch>
                 <cfset result.data = httpRequest>
            </cfcatch>
        </cftry>       
        <cfcatch type="any">
             <cfset result.error = cfcatch>
            <cfset result.success = false>
        </cfcatch>
    </cftry>   
    <cfreturn result>
</cffunction>
Also, this is what my atomXML data ended up looking like when it got sent to google. This isn't the WHOLE request (it doesn't include the headers, just the body).
Content-Type: application/atom+xml
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:docs="http://schemas.google.com/docs/2007">
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/docs/2007#document"/>
<TITLE>Woot Test</TITLE> </entry>
--END_OF_PART
Content-Type: text/plain
I'm a test document lol!
--END_OF_PART--

Woot, I got it. I had to send the gData version number, and change the URL.
Here is the working function.
<cffunction name="upload" access="public" returnType="any" hint="I upload the document." output="false">
    <cfargument name="myFile" type="string" required="false" hint="file to upload.">
    <cfset var result = "">
    <cfset theUrl = "https://docs.google.com/feeds/default/private/full">
    <cffile action="read" file="C:\website\xerointeractive\testing\test.txt" variable="theFile">
    <cfset fileSize = createObject("java","java.io.File").init("C:\website\xerointeractive\testing\test.txt").length()>
    <cfhttp url="#theURL#" method="post" result="result" charset="utf-8" >
        <cfhttpparam type="header" name="Authorization" value="GoogleLogin auth=#getAuth()#">
        <cfhttpparam type="header" name="Content-Type" value="text/plain">
        <cfhttpparam type="header" name="Slug" value="test file">
        <cfhttpparam type="header" name="GData-Version" value="3">
        <cfhttpparam type="header" name="Content-Length" value="#fileSize#">
        <cfhttpparam type="body" value="#theFile#">
    </cfhttp>
    <cfreturn result>
</cffunction>

Similar Messages

  • Multi-part form problem (array & session help needed)

    I have a multi-part form that consists of 3 pages(forms) which each save data to the session. When the final form is complete, I insert the session variables to the DB via a FINISH button.
    I now want to take another step. Page 2 of this multi-part form allows users to add "items". Presently, they can add only 1 item, and move the page 3 by hitting a next button. I would like to add a "Add another item" button that goes to the page 2 form again, allowing more items to be entered. I believe I need an array/table to do this, but don't know how I might do this in the session.
    Is it possible to create an array in the session? If so, how? If not, how might I approach this?
    I am trying to avoid inserting to the database (a remote db) until after a "preview" page following the form.
    Any ideas? Thx in advance.

    Hi,
    This forum thread may help you:
    http://swforum.sun.com/jive/thread.jspa?forumID=123&threadID=50623
    Thanks,
    Creator Team.

  • I've exported a pdf document created in 2009 at least 20 times for a doc or docx version. Gibberish.

    I've exported a pdf document created in 2009 at least 20 times for a doc or docx version. Gibberish.

    Hi,
    Please open your PDF file in Adobe Reader then check the producer from File menu>Properties then let me know.I have seen the same issue with PDF file created by some producers.
    Or you can send me your PDF file so that I can look at it.
    Please use below site to share your file.
    https://adobeformscentral.com/?f=qJiclooYWGGNFtWfj8g3wg#
    Thank you.
    Hisami

  • Only RG23 A/C Part-2 Posting for free goods

    Hi Gurus,
    Hi Every one, how are you, i have one requirement from client.
    1. this case is for free goods, where client wanted to take   credit for material purchase ie only part-2 entry should get posted,
    2. Liabilities should not get posted.
    As  per my understanding or solution given to client.
    Both Part-2 & liabilities for vendor is getting posted,
    can you please help me to resolve the issue.
    full points will be awarded if found usefull.
    Thanks & Regards
    Manoj K Singh

    Hi,
    During Part II posting of Excise Duties for Capital Goods, Debit GL Accounts are determined via ETT CAPE and Credit GL Accounts are getting determined via ETT GRPO.
    So check A/c determination for ETT CAPE and GRPO both in path SPRO > Logistics - General > Tax on Goods Movements > India > Account Determination > Specify Excise Accounts per Excise Transaction & SPRO > Logistics - General > Tax on Goods Movements > India > Account Determination > Specify G/L Accounts per Excise Transaction

  • Need to copy form tag in source for google docs form...cannot find it?

    I have a google docs form that has worked, but they have just introduced an acknowledged bug that kills it.
    SO, i need to copy the form tag from the source code, but there is no form tag (in safari or FF on mac viewing on me.com). It is in an iweb HTML widget, does this some how change where I find the form tag?
    Below are the steps. Looking at non-iweb site with google form, the form tag is there.
    Where is it in iweb?
    Thanks
    bob
    5) Right click anywhere on the page and click View Source to look at the code behind the form.
    6) Copy all the code between <form> and </form> tags and paste it into the new form page on your web site.

    This was my bad, I realized that the instructions were referring to the form tags in source of the google docs forms website...since it is hosted, the form is not actually in iweb.
    Google forms changed, after submit instead of a link to return to the form (i.e. your web) the link now says "create your own form" which means the user has not way to return (except the browser back button). Google says they will correct it in a future version...
    thanks
    bob

  • Contact Form data to Google Docs/Contacts?

    In Adobe Muse CC, I want to create a single-line signup form just like the following I have already created using the form widget:
    However I would like the results to be sent straight to a spreadsheet in Google Docs, or more preferably straight into my Google Contacts so that I start building an email list from the submissions (I use Google Apps for Business).
    And if at all possible to have a tag in Google Contacts associated with them automatically so that I know who in my contacts list came from my website form.
    Is there any way that I can do this?
    Is this a feature of Business Catalyst webBasics subscription?
    Can I do this using a site hosted somewhere other than Business Catalyst?
    Thanks in advance.

    Hi,
    Unfortunately there is no direct way to link your webform to a Google Spreadsheet using Muse. But You can try to export your site as html and use some code like PHP. Here is a helpful article,
    http://www.farinspace.com/saving-form-data-to-google-spreadsheets/
    Note: Business Catalyst does not support PHP or any server side scripting language
    With webbasic subscription, it is not possible, As you donot have the access to the CRM, you can see the detailed Plan Breakdown here, to see what is included in which plan.
    http://helpx.adobe.com/business-catalyst/kb/detailed-plan-breakdown.html
    In Business Catalayst there is a feature called mailing list, you can use it, check the guide below
    http://helpx.adobe.com/business-catalyst/sbo/create-email-marketing-mailing-list.html
    Regarding Godaddy, I have no idea, how they work, so it's better you reach out to there technical support to get a detailed instructions

  • Versioning for excel docs uploaded to workspace

    I need info on how to apply versioning for Excel documents uploaded to Oracle Beehive Workspace.
    I actually want to enable versioning for excel documents, which enable me to track the changes made to the documents and revert to previous versions if required.
    Any help is appreciated.
    Thanks,
    Smita

    Hi Jereen,
    Thanks For the information. But I did not understand if the versioning is getting applied to Excel documents uploaded to workspace.
    My requirement is like.
    I have a folder in my workspace. I upload an Excel document into the folder. Later When I modify the file and upload it back, I should be able to see what are the changes from previous file and if required I need to revert back to old version. Main thing required is I should be able to view the updates done.. just like the feature available for wiki pages, where I can compare the current version with the previous version and understand what was updated.
    Please help me out on how to have such a feature enabled for Documents uploaded to workspace.
    Thanks,
    Smita

  • Can Firefox be optimized for google docs

    When I bring up a spreadsheet online in google docs Firefox starts dimming the screen, others tabs run slow. The screen dimming will last, for 2-3 minutes, and then clear up, 2-3 minutes later it will dim again. The fewer tabs I have helps, but not the answer. IMO the problem has gotten worse over the few upgrades. I have an HP 2000 Laptop, CPU 1300.000 MHz, memory 7586 MiB.
    Thx, Larry

    Start '''[https://support.mozilla.org/en-US/kb/troubleshoot-firefox-issues-using-safe-mode Firefox in Safe Mode]''' {web Link} by holding down the '''<Shift><br> ''(Mac Options)'' ''' key, and then starting Firefox. Is the problem still there?

  • Hashtable for multi part form to insert image and details to database:)

    Hey guys do you have any samples on using hashtable in multipart form to insert image as well as details into database?:)
    Oh it is because my form is using multipart from that enbales me to upload/Insert image into my database.
    Howerver, I also need to insert other details into my database such as productid, ProdName, unitprice.....
    Hence, My tutor suggested using hashtable.
    However, I do not understnd.
    Do you guys have any samples regarding on this?
    Thanks
    :D

    Cathy_Latte wrote:
    However, I do not understnd. More specifically: you do not understand how to use Maps? If so, just go through a book/tutorial on that subject. In fact you should have consulted your tutor or classmates for more information and you're here at a JSP/JSTL forum at the wrong place (you have a problem with Java in general, not with JSP), but OK, here's a link: [http://google.com/search?q=hashmap+tutorial+site%3Asun.com].

  • How to create Custom WEB ADI using API Only for both Dowload/Upload process

    I am able to create custom WEB ADI using API for upload process. I have written the following code to create custom WEB ADI using API for upload process.
    DECLARE
    v_application_id NUMBER:= 20003;
    v_object_code VARCHAR2(255):='WEBADI_API_DEM_17';
    v_int_user_name VARCHAR2(255):='WEBADI_API_DEM_17';
    v_language VARCHAR2(255):='US';
    v_source_lang VARCHAR2(255):='US';
    v_user_id NUMBER :=1345;
    v_integrator_code VARCHAR2(255);--:='WEBADI_API_DEM_17_INTG';
    v_param_list_code VARCHAR2(255);
    --v_interface_code  VARCHAR2(255);
    v_interface_code VARCHAR2(255);--:='WEBADI_API_DEM_17_INTF';
    p_layout_code VARCHAR2(255):='WEBADI_API_DEM_17_LAYOUT';
    V_MAPPING_CODE VARCHAR2(255);
    BEGIN
    BNE_INTEGRATOR_UTILS.CREATE_INTEGRATOR(P_APPLICATION_ID =>v_application_id,
    P_OBJECT_CODE =>v_object_code,
    P_INTEGRATOR_USER_NAME =>v_int_user_name,
    P_LANGUAGE =>v_language,
    P_SOURCE_LANGUAGE =>v_source_lang,
    P_USER_ID =>v_user_id,
    P_INTEGRATOR_CODE =>v_integrator_code);
    BNE_INTEGRATOR_UTILS.CREATE_INTERFACE_FOR_API (P_APPLICATION_ID =>v_application_id,
    P_OBJECT_CODE =>v_object_code,
    P_INTEGRATOR_CODE =>v_integrator_code,
    P_API_PACKAGE_NAME =>'XXDH_PRICE_LIST_POC_PKG',
    P_API_PROCEDURE_NAME =>'CREATE_PRICE_LIST',
    P_INTERFACE_USER_NAME =>'WEBADI_API_DEM_17',
    P_PARAM_LIST_NAME =>'WEBADI_API_DEM_17',
    P_API_TYPE =>'PROCEDURE',
    P_API_RETURN_TYPE =>NULL,
    P_UPLOAD_TYPE =>2,
    P_LANGUAGE =>v_language,
    P_SOURCE_LANG =>v_source_lang,
    P_USER_ID =>v_user_id,
    P_PARAM_LIST_CODE =>v_param_list_code,
    P_INTERFACE_CODE =>v_interface_code);
    BNE_INTEGRATOR_UTILS.CREATE_DEFAULT_LAYOUT
    (P_APPLICATION_ID =>v_application_id,
    P_OBJECT_CODE =>v_object_code,
    P_INTEGRATOR_CODE =>v_integrator_code,
    P_INTERFACE_CODE =>v_interface_code,
    P_USER_ID =>v_user_id,
    P_FORCE =>FALSE,
    P_ALL_COLUMNS =>TRUE,
    P_LAYOUT_CODE =>p_layout_code);
    BNE_CONTENT_UTILS.CREATE_CONTENT_COLS_FROM_VIEW (P_APPLICATION_ID =>v_application_id,
    P_CONTENT_CODE =>'WEBADI_API_DEM_17'||'_CNT',
    P_VIEW_NAME =>'XXDH_PRICE_LIST_POC_V',
    P_LANGUAGE =>v_language,
    P_SOURCE_LANGUAGE =>v_source_lang,
    P_USER_ID =>v_user_id);
    BNE_CONTENT_UTILS.CREATE_CONTENT_TO_API_MAP (P_APPLICATION_ID =>v_application_id,
    P_OBJECT_CODE =>v_object_code,
    P_INTEGRATOR_CODE =>v_integrator_code,
    P_CONTENT_CODE =>'WEBADI_API_DEM_17'||'_CNT',
    P_INTERFACE_CODE =>v_interface_code,
    P_LANGUAGE =>v_language,
    P_SOURCE_LANGUAGE =>v_source_lang,
    P_USER_ID =>v_user_id,
    P_MAPPING_CODE =>V_MAPPING_CODE);
    END;
    I need to know what are API we can use to create download+upload ADI? anyone has already prepared script....please share it it me. My email id - [email protected]
    Thanks

    Use FNDLOAD, it's the only way.
    There are 2 seperate scripts, 1 for the Integrator and 1 for Layout.
    FNDLOAD apps/<pw> 0 Y DOWNLOAD $BNE_TOP/patch/115/import/bneintegrator.lct <your name>.ldt BNE_INTEGRATORS INTEGRATOR_ASN="XXX" INTEGRATOR_CODE="<your code>"
    FNDLOAD apps/<pw> 0 Y DOWNLOAD $BNE_TOP/patch/115/import/bnelay.lct <your name>.ldt BNE_LAYOUTS LAYOUT_ASN="XXX" LAYOUT_CODE="<your code>"
    Cheers
    Jeroen

  • How do i create a multi part checkout form for my ecommerce checkout?

    Hey Guys,
    I was following this video on creating multi-part forms: http://www.bcgurus.com/tutorials/increase-conversion-with-multi-step-web-forms
    I'm trying to set this up on my checkout page (order_registration-us.html), but it seems BC does not let me do this. Upon submit, i am not sent to the step 2 form, but rather, i am given a receipt for the order. How do i setup the multi part form? Your help is greatly appreciated!

    You can not do that on that form as that form is looking to process eCommerce sales.
    Better question is why?
    In modern UI and UX design and methadology multi step forms are to be avoided, why do you need so many fields? IS your form one field at a time going down the website?
    If that is the case then you should look to design your forms to have multiple coloulmns and be smarter. Combining first and last name fields into the FullName field for example.
    Hiding the shipping fields and have a tick box and javascript to say "shipping same as billing" and so on.

  • HTTP Multi-Form Post - And Config?

    Hey Everyone,
    I'm stuck on a situation where my code in PRD does not behave like my code in DEV and QAS. This code is a simple multi-part HTTP post to an external system. Nothing special. There are two variables in my equation:
    1. DEV and QAS are on a higher kernel level than PRD. The kernel has not migrated that far yet.
    2. I have the cryptographic library active on DEV and QAS, but not on PRD. Like the kernel, it has not migrated there yet.
    Mind you, I've double checked the SICF and SMICM settings to guarantee they are identical in all systems. Is there something else that I have missed?
    I have seen situations before where kernel applications have "tightened the bolts" on weak code, so I thought perhaps my code was "weak." Would someone mind giving a glance over to see if something is missing? Note that it works great in PRD, but not in QAS and DEV. It could be just sloppy code that crumbled under the stringent eye of a new kernel.
    Here is the code...thanks for your attention.
    Greg
    DATA:  http_client       TYPE REF TO if_http_client.
        CALL METHOD cl_http_client=>create
          EXPORTING
            host    = lv_host
            service = '80'
            scheme  = '1'
          IMPORTING
            client  = http_client.
    *These steps fill the HTTP Post basic settings for communication back to the URL that first Posted to SAP.
        http_client->request->set_header_field( name = '~request_uri'     value = sourcetask_http_url ).
        http_client->request->set_header_field( name = '~request_method'  value = 'POST' ).
        http_client->request->set_header_field( name = 'Content_Type'     value = 'multipart/form-data' ).
        http_client->request->set_header_field( name = '~server_protocol' value = 'HTTP/1.1' ).
    * Variable Fields Need to Map to EDMS Form *These steps fill the MIME multi-part form fields with values.
        http_client->request->set_form_field( name = 'taskstatus' value = 'Done').
        http_client->request->set_form_field( name = 'attributes_ref_canddoc_1' value = attributes_ref_canddoc_1 ).
        http_client->request->set_form_field( name = 'wf_status' value = wf_status ).
        http_client->request->set_form_field( name = 'forms_dlm_lbl_form_change_type_1' value = form_change_type_1 ).
        http_client->request->set_form_field( name = 'forms_dlm_lbl_form_change_ref_1' value = form_change_ref_1 ).
        http_client->request->set_form_field( name = 'forms_dlm_lbl_form_dp_repart_1' value = form_dp_repart_1 ).
      *This step sends the HTTP Post to the external system.
        http_client->send( ).
    *This step is necessary to make sure the communication was a success. Without it a failure won't be known.
        CALL METHOD http_client->receive
          EXCEPTIONS
            http_communication_failure = 1
            http_invalid_state         = 2
            http_processing_failed     = 3
            OTHERS                     = 4.

    Update: I've reviewed the system profile, the ICF, the Crypto Library, the RFC, the ICM, rewritten my code in numerous ways, reverted the kernel back to its original level...all to no avail. What did come of it is this...and a lesson I've learned many times and should have been more astute and critical from the start. When the downstream system you are communicating with tells you they have not made a change and it must be SAP...well, make sure they are not lying. "Well, the change we made wouldn't affect that." Oh...really.

  • GL_SET_OF_BKS_ID in R12 Multi-Org Form

    Hi,
    I am migrating a 11i form into R12. In R12 it will be a Multi-Org form. For that I have created operating unit items for selecting operating unit.
    I am using MO_GLOBAL.set_policy_context to set selected operating unit context.
    I have 2 profiles being used in my form i.e. ORG_ID and GL_SET_OF_BKS_ID.
    After doing all this exercise mentioned above, ORG_ID value is being retrieved correctly using FND_PROFILE.VALUE but still value of GL_SET_OF_BKS_ID is blank.
    Is there any option available to set this profile value other than FND_PROFILE.put like MO_GLOBAL set ORG_ID value.
    Regards,

    For question 1:
    Changing set_of_books_id to ledger_id in subledgers may be a very bit hit in datamodel changes.
    I think they have changed that in SLA / GL, as Accounting Convention (4th C) has been added to SOB.
    http://realworldoracleapps.blogspot.com/2009/02/r12-financials-overview-and-new.html
    For question 2:
    Yes, set_of_books_id and ledger_id are one and the same. SLA will take care of the mapping.
    You may check the link http://www.orafaq.com/node/2242
    By
    Vamsi

  • Flash for Google engine

    1)
    Is it possible to create SWF which content would be reachable
    for Google
    search engine(robot)?
    I can use Meta Keywords in my HTML page of course. But there
    is not enough
    space for all the information, and if I, for example, have a
    news archive in
    my swf, I want Google to cache them too.
    2)
    Google Analytics report shows how many visitors were watching
    each page
    (News page, Products page, etc.) - all pages are HTML, of
    course.
    But how to get the same Analysis, if there is only one HTML
    page with a
    home.swf file in it?
    ..and this home.swf has many sections (news page, products
    page, etc.)
    Thanks in advance,
    B.

    Hi Sean,
    Thanks for the reply. Yes, I understand that the main purpose of Stratus is the inter-client communication, not the client-server. And for the server-to-client push, I've using many solutions include blazeds, sockets, comet and etc, and those should be the better than RTMFP.
    Maybe I should have explained the background more: I'm using Google App Engine as the server and it does not allow us to use the ordinally push technics like blazeds messaging, sockets and comet for the following reasons.
    - App Engine counts the time required for HTTP request processing and billing against it. It will be so expensive to use long polling or comet on it.
    - App Engine do not allow us to open a socket listner.
    - App Engine provides XMPP client feature as an only mean of realtime push, but it seems nobody has been successful on connecting AS3 client with App Engine XMPP client via various XMPP servers (like GTalk and ejabberd.org) because of incompatibility problems. I've tested three different AS3 XMPP libraries.
    - I just don't like the polling - it's not quick.
    Now I have to use an EC2 instance just for running a socket relay server to distribute realtime messages to the Flash client, while all the other application codes resides in the App Engine. I've looking for a way to support the realtime messaging by the App Engine alone. Any ideas?
    Thanks,
    Kaz

  • I created a pdf form and then iported it to Forms Central for distribute. It is now loaded to my website and setup so a person clicks on the link to open the form. At this point they then have to go to upper right to open form using a different view. I wo

    I created a pdf form and then imported it to Forms Central for distribute. It is now loaded to my website and setup so a person clicks on the link to open the form. At this point they then have to go to upper right to open form using a different view. I would like the form to open directly in Adobe Reader form to make it easier to enter information. Thanks, Ike

    If you created it in Forms Central, you have to edit it there. I believe Forms Central is similar to LiveCycle Designer in that the form created is no longer able to be edited in Acrobat. I might be wrong, but that is my understanding. You add the submit button in Forms Central. Within Acrobat, you should be able to go to the forms menu and Manage Data to save the data to an Excel file. Others better with forms should be by to clarify things, but this should get you started. In the future you might find it better to post a forms question in the forms discussions.

Maybe you are looking for

  • How do I stop iTunes from auto-launching when connecting iPod.

    I have found one method of doing this set out below. You may want to stop iTunes from auto-launching whenever you plug in your iPod. To do this, open iTunes, and select the iPod in the left-hand Source window. Four buttons will then appear in the low

  • Startup Disk menu can no longer detect the hard drive

    I am trying to boot my dvd from the startup disk menu (the screen when you press alt and brings up Mac or Windows) as Paragon CamptuneX has adjusted my directory files when I expanded the partition size and it is required to boot from the windows DVD

  • JVC KD-R810 cannot connect with Iphone 3GS (OS 4.2.1)

    I have issues connecting my JVC KD-R810 to my iphone 3gs with 4.2.1 OS The JVC shows the following in a repeated manner 'READING' -> 'NO USB' -> 'READ ERROR' . This keeps cycling.

  • Annoying bug/ badly implemented feature

    On the torch, you could set the alarm and turn off your mobile, knowing the alarm setting would turn on the mobile and the alarm would go off. On the passport this is not possible! If you set an alarm and turn it off, it stays off. You have no choice

  • Using a purchased song as default ringtone on i phone

    This might seem a simple question, but I have downloaded Detroit Emeralds (Feel the Need in Me) as I used to have it as my default ringtone on my old Samsung Tocco. I want to have it on my new i phone 3G - how can I do it? Cheers