Read responses from a form

How do I read responses from a completed PDF form?
I used adobe acrobat pro extended 9 to create a form. Was confused at the end as all the methods for publishing the form and collecting responses were more involved than I wanted.  I selected the email option.
As a test I made a copy of the blank form.  Then completed it, saved the resulting document.  How do I read the responses from a completed PDF form document?
I want to manually distrubute the PDF form document. Then manually receive the completed form document back. ( copy it to an "in box" folder ). Then use a program of some sorts ( the adobe SDK? ) to automatically pull the response data out of the completed form.
thanks,

Thanks a lot.   I understand better now. I opened the completed PDF with acrobat and the response data was automatically associated with the original document.
Very nice.

Similar Messages

  • Hi, I am using USB 8476s to communicat​e to a slave unit in LIN network using LabVIEW7.1​. Can anyone tell me how i can send a header file plus 1 byte of data to the slave in a LIN network. or how do i use ldf file. i want to read responses from the slave

    Hi,   I am using USB 8476s to communicate to a slave unit in LIN network. Can anyone tell me how i can send a header frame plus 1 byte of data to the slave in a LIN network. or how do I communictae with slave using LabVIEW7.1.
    I want to read responses from the slave. When i tried with labview exapmle programs or even using MAX also, while doing some switching action in my slave, i am getting response as Device inactive with timestamp but there is no data format. 
    And I have Lin Description File. Can you suggest me how to use ldf file.
    I am at customer place and It would be great help from you if you can suggest me at the earliest. Thank you

    you may use the LDF Starter Kit to use LDF informations in your application
    http://joule.ni.com/nidu/cds/view/p/id/665/lang/en

  • Responses from Distributed Forms

    Is there a way to send me an email notification once I receive a submitted response from a distributed form
    using Acrobat?

    Is the form being returned as a pdf or xml?  You can distribute the form, which will set up a pdf portfolio for your returned forms.  When forms are returned via email, you double click on the attachment and it puts into the portfolio.  From the portfolio you can export one or more forms (data) into an excel file.
    To export the whole form, click on File, Export and choose the file type you want.  However, if you just want the form data, I would suggest you distribute the form to create the pdf portfolio for that.

  • (Swing) Reading fields from other forms - Best practice

    Hi All,
    I have been learning Java and Swing through NetBeans (quite a cool way to do it). I would like some 'best-practice' advice please. Google and search on this forum are normally my friends, can't find anything relevant for this though. I have created an application that seems to be functional, all my navigation is through tabs.
    To make my app portable I have created a ?Settings? part. To save having another tab, I have basically copied the way NetBeans deals with opening the ?About Box? in its example, and have set-up fields in here. This essentially opens a JDialog with fields through an option in the menu.
    I figure the best way to store the data is in a simple text file, and have the application read the values on start-up? Then when somebody changes the fields and saves it just overwrites the text file with the new values. I am not sure how to best read these in though, I can?t find a way of reading direct from the JDialog (i.e. var.getText()) which makes sense as the JDialog will be closed.
    Will my best practice simply be writing a class which reads the file, then whenever I need a value just calling the class?
    Thanks a lot

    You should not be using preference files unless you really know what you are doing. This is one area of the very few areas of Java programming that can have lasting nasty negative affects on a computer that runs the code if done wrong.
    If you want the user to save preferences it is better to just use xml. The advantage of preference files is they can be used by multiple programs and are permanent even after the program is done running/deleted/writen-over/forgotten. The disadvantages of preference files is they can be used by multiple programs, are permanent even after the program is done running/deleted/writen-over/forgotten, can cause damage to your OS, may be seen as harmfull by add blockers and/or anti-virus software, may lead to conflicts with other software that uses similar naming schemes, and are pretty much unportable.
    You are going to be much better off in the long run learning XML and just saving them there, an added benefit of XML is if you screw something up and it causes your program to no longer run you can easily edit the xml by hand.
    JSG

  • Format of response from distributed form

    Hi guys,
    I have been working with a trial of Acrobat X Pro and Livecycle ES II, to determine if we can use it effectively to replace paper forms in our workplace. We have also recently deployed Alfresco, an open source CMS, which is very tightly integrated with what we would like to do with Adobe forms. I am a little confused though, at trying to figure out what controls the format of the response.
    With the forms I create in liveCycle, when distributed, the response seems to be either a pdf or an xml file. The first few forms I designed arrived on the server as pdf's when I tested them (which is exactly what I wanted). The last couple I have created (using liveCycle) however, seem to always arrive as xml. I have gone through every page of the Distribute... wizard with what I feel is rather a fine toothed comb but cannot find anywhere to control this.
    Today I have discovered that Alfresco is unable to parse the form fields in the liveCycle PDF's (this is to do with the Tika parser and PDFBox, but isn't really related to this disccussion directly), so I have switched to Acrobat which, in my testing so far, does create forms parsable by Tika. When I distribute the form from Acrobat though, the responses always seem to be in xfdf format (which seems to boil down to xml anyway).
    I am sure that actual PDF's were created at some point. I still have test distribution folders full of pdf responses. Does anyone know what I am missing which controls the response??

    Hi Bill,
    I know the data format would be alot more useful if we were just needing to get the data into a database or some other process or application, but the need here is moreso for the actual PDF. This is also required to be an automated process, so importing the data files into acrobat manually is not an option.
    When you say are we collecting data by email or web script, I am not 100% sure I understand. When we choose distribute form... there are three choices - collect responses on Acrobat.com, collect responses in my email inbox, and collect choices in our own server. We choose the latter of the three (own server) and specify the CIFS path to a folder on the Alfresco server.
    Essentially all I need here is to find out which setting allows me to have pdf's (not xml or fdf or xfdf) collected in the responses folder when the form is distributed using the "own server" option. When I go through the distribute wizard, the only options I set seem to be: How the data is collected (own server), the path to the server, whether or not to collect name and email and the server profile name. (although now I think of it, I believe that originally I was leaving the "collect name and email" checkbox ticked originally when I was seeing actual PDF's collected, so I may try that now. If that's the setting controlling the response format though I would be surprised and find it incredibly unintuitive).

  • How do I import multiple responses from outside Forms Central into a form at one time?

    I created a survey in Word, used Adobe to make into a fillable pdf, emailed it to the prospective respondents, and I have received many emailed responses.  I have uploaded my original form to Adobe Forms and now I would like to upload those responses into Forms Central to make use of its reporting capabilities.  How can I import all of my repsonses into Forms Central?  

    Hi,
    I don't mean to hijack this thread, but Randy had mentioned a bug in Chrome regarding copy/paste. I've been searching for hours for a solution, but nothing on Google Chrome and c/p for the fillable area of a pdf document. Google forums have not yielded anything about fillable forms, so I'm hoping an Adobe forum would be more knowledgable.
    I have a fillable form online where the fillable area cannot be pasted into or copied out of while using Google Chrome. Note that the text already on the document can be c/p'ed. You can see it here: http://www.centralcallegal.org/eictaxcampaign/Coverform.pdf   This is a form for our self-help computer kiosks which use Google Chrome. The form is designed so users can copy and paste their own info into the cover sheet so there won't be any typos.
    Without looking at alternative methods of using the form (i.e. saved on desktop), is there a way to fix this copy/paste issue? It is definitely a Google Chrome issue, as c/p works fine in IE and Mozilla. Thank you.

  • Writing and reading data from a form

    I am trying to write a save and load feature for an application using mostly Jtextboxes and things. Basically I have a form that the user enters data into. I want to be able to save this data and load this data. I am relatively new to working on a GUI and I'm not quite sure if my knowledge of I/O applies to this. This is my stab at it but if I am completely off I would not be surprised. I don't want to print it to the command line but this was all I could think of right now. Any help would be greatly appreciated.     
    private void SavePrefs() {
              File SavePrefs;
              // get filename:
              fc.setDialogTitle("Select Filename For Site Data");
              int result = fc.showOpenDialog(f);
              if (result == JOptionPane.OK_OPTION) {
                   SavePrefs = fc.getSelectedFile();
                   // default file extension ".CMM"
                   if (!SavePrefs.getName().endsWith(".CMM")) {
                        // filename does not meet requirmeents:
                        System.out.println("NO CMIMS in filename");
                        SavePrefs = new File(SavePrefs.getAbsolutePath() + ".CMM");
                   // continue with save code:
                   System.out.println("File Selected:" + SavePrefs.toString());
                   //Creates a .cmm file with a code in it containing the data from the first site tab.
                   FileOutputStream out; // declare a file output object
    PrintStream p; // declare a print stream object
                   try
    // Create a new file output stream
    out = new FileOutputStream(SavePrefs.toString());
    // Connect print stream to the output stream
    p = new PrintStream( out );
    p.print(_SitePropPanel);
    p.close();
    catch (Exception e)
    System.err.println ("Error writing to file");
                   JOptionPane.showMessageDialog(null,
                             "File is saved.");
              // not OK selected (cancel or.?)
         private void LoadPrefs() {
              File loadPrefs;
              // get filename:
              fc.setDialogTitle("Select Filename For Site Data");
              int result = fc.showOpenDialog(f);
              if (result == JOptionPane.OK_OPTION) {
                   loadPrefs = fc.getSelectedFile();
                   // default file extension ".CMM"
                   if (!loadPrefs.getName().endsWith(".CMM")) {
                        // filename does not meet requirements:
                        System.out.println("NO CMIMS in filename");
                   // continue with save code:
                   System.out.println("File Selected:" + loadPrefs.toString());
                   try
         // Open the file that is the first
         // command line parameter
         FileInputStream fstream = new
                                  FileInputStream(loadPrefs.toString());
         // Convert our input stream to a
         // DataInputStream
                             DataInputStream in =
         new DataInputStream(fstream);
         // Continue to read lines while
         // there are still some left to read
         while (in.available() !=0)
         // Print file line to screen
                                  System.out.println (in.readLine());
                             in.close();
         catch (Exception e)
                             System.err.println("File input error");
              JOptionPane.showMessageDialog(null, "Feature is not yet implemented.");
         }

    Oh and the GUI is a window with menus where the save feature resides, but the data is in tabbed panels. That is where the _SitePropPanel comes in. I know I want it to write the input from the panel and not the panel. What would would I use for that? I tried getInputContext().                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Can responses from 2 forms (Spanish and English) be merged into one?

    2 separate forms were created of a survey, one in Spanish and one in English.  I want to report on the data all together. Is there a way to merge the data from these surveys to be able to create one report?

    Welcome to the Apple Community.
    You can't merge accounts but there may be some things you can do, what exactly are you trying to achieve by merging accounts.

  • Client seems to be unable to read response from service

    (This is on weblogic 8.1 SP2 using the JWSDP-1.6)
    I'm getting the error below on the client side when I call the service using this code:
    Stub stub = (Stub)(new DataExchanger_Impl().getDataExchangerSoap());
    DataExchangerSoap hello = (DataExchangerSoap)stub;
    String result = hello.exchangeData("user","23234-234234","confirm","xml data here");
    out.println(result);
    Given the stakc trace below I looked at the DataExchangerSoap_Stub class on line 70. This appears to be the client sending the data to the server.
    send((String) getProperty(ENDPOINT_ADDRESS_PROPERTY), _state);
    On the server I see the incoming data, process it and return an xml string:
    <exchangeDataResult>
    <status>OK</status>
    <message>Transaction accepted.</message>
    </exchangeDataResult>
    No errors occur on the server. Looking at the stack trace from the client it seems it never even gets to the point where it trys to read the response.
    What the hell does this error message mean?
    [java] java.rmi.RemoteException: Runtime exception; nested exception is:
    [java] unexpected element name: expected={https://partners.mcdata.com/}exchangeDataResponse, actual={http://partners.mcdata.com}exchangeDataResponse
    [java] at com.sun.xml.rpc.client.StreamingSender._handleRuntimeExceptionInSend(Ljava.lang.RuntimeException;)V(StreamingSender.java:248)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(Ljava.lang.String;Lcom.sun.xml.rpc.client.StreamingSenderState;)V(StreamingSender.java:230)
    [java] at com.mcdata.websvc.riverbed.server.DataExchangerSoap_Stub.exchangeData(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;)Ljava.lang.String;(DataExchangerSoap_Stub.java:70)
    [java] at jsp_compiled.__index._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(__index.java:134)
    [java] at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(JspBase.java:33)
    [java] at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:971)
    [java] at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.java:402)
    [java] at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(ServletStubImpl.java:305)
    [java] at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lang.Object;(WebAppServletContext.java:6350)
    [java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(AuthenticatedSubject.java:317)
    [java] at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(SecurityManager.java:118)
    [java] at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(WebAppServletContext.java:3635)
    [java] at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)V(ServletRequestImpl.java:2585)
    [java] at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(ExecuteThread.java:197)
    [java] at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170)
    [java] at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
    [java] Caused by: unexpected element name: expected={https://partners.mcdata.com/}exchangeDataResponse, actual={http://partners.mcdata.com}exchangeDataResponse
    [java] at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(Ljavax.xml.namespace.QName;Lcom.sun.xml.rpc.streaming.XMLReader;Lcom.sun.xml.rpc.encoding.SOAPDeserializationContext;)Ljava.lang.Object;(LiteralObject
    SerializerBase.java:161)
    [java] at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.deserialize(Ljavax.xml.namespace.QName;Lcom.sun.xml.rpc.streaming.XMLReader;Lcom.sun.xml.rpc.encoding.SOAPDeserializationContext;)Ljava.lang.Object;(LiteralObjectSerializ
    erBase.java:95)
    [java] at com.mcdata.websvc.riverbed.server.DataExchangerSoap_Stub._deserialize_exchangeData(Lcom.sun.xml.rpc.streaming.XMLReader;Lcom.sun.xml.rpc.encoding.SOAPDeserializationContext;Lcom.sun.xml.rpc.client.StreamingSenderState;)V(DataExchan
    gerSoap_Stub.java:117)
    [java] at com.mcdata.websvc.riverbed.server.DataExchangerSoap_Stub._readFirstBodyElement(Lcom.sun.xml.rpc.streaming.XMLReader;Lcom.sun.xml.rpc.encoding.SOAPDeserializationContext;Lcom.sun.xml.rpc.client.StreamingSenderState;)V(DataExchangerS
    oap_Stub.java:104)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(Ljava.lang.String;Lcom.sun.xml.rpc.client.StreamingSenderState;)V(StreamingSender.java:158)
    [java] ... 14 more

    When I use
    http://208.47.133.243/riverbedshipserver/exchangeData?WSDL
    to view the WSDL what is returned has the non-ssl namespace in it and it doesn't match the WSDL I used to generated the service to begin with.
    The WSDL doesn't get packaged into the service EAR file, should it? If so where is it supposed to be placed?
    Where the heck is 8.1 getting that namespace setting that doesn't have the https in stead of http?
    Here is the WSDL I used to create the service:
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns="https://partners.mcdata.com/"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
    targetNamespace="https://partners.mcdata.com/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    name="">
    <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="https://partners.mcdata.com/">
    <s:element name="exchangeData">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="sender" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="transactionType" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="data" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="exchangeDataResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="exchangeDataResult" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="exchangeDataSoapIn">
    <wsdl:part name="parameters" element="tns:exchangeData" />
    </wsdl:message>
    <wsdl:message name="exchangeDataSoapOut">
    <wsdl:part name="parameters" element="tns:exchangeDataResponse" />
    </wsdl:message>
    <wsdl:portType name="DataExchangerSoap">
    <wsdl:operation name="exchangeData">
    <wsdl:input message="tns:exchangeDataSoapIn" />
    <wsdl:output message="tns:exchangeDataSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="DataExchangerSoap" type="tns:DataExchangerSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="exchangeData">
    <soap:operation soapAction="https://208.47.133.243/riverbedshipserver/exchangeData" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="DataExchanger">
    <wsdl:port name="DataExchangerSoap" binding="tns:DataExchangerSoap">
    <soap:address location="https://208.47.133.243/riverbedshipserver/exchangeData" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

  • Reading response from AT command

    Hi,
    I'm trying to send AT commands from an STK applet to the phone, and then read the response, for example to use AT+CREG? to get the cell ID.
    Sending the commands seems to work, but I'm not sure exactly how to use the ProactiveResponseHandler to get the result back.
    If anyone has done this and could provide a short code sample, or pointers to more information, it would be really great!
    Thanks in advance!
    Henrik Arro

    Hi Friends,
    I have also similar kind of query.
    How we can interact with SIM using AT commands?
    I know few details about AT commands interaction with modem in native development(Using C).
    But i dont have any idea in Java card applet. I am quite new to java card development.
    Any response/suggestion will bi highly appreciated and will be of great help.
    Thanks in advance for the help.
    Best Regards,
    Sunil K

  • Acrobat XI hangs when adding a response from distributed form, when specific form field is filled

    As the question says, when using the distribute form functionality of Acrobat, it hangs at the step of importing or adding a filled form, when a specific field on the form is filled.  It happens whether the tracker automatically detects it when I open the distributed form and asks me to add it, or I manually try to add it in the responses form. Here's the screenshot of when I tried manually adding it.  The first line is the one that hangs and is missing all fields except that "Approved" check box.  But it's the last field "ApprovedDate" that makes it hangs if it's filled in the form.  The Progress dialog just stays there forever and I can't click cancel.  When it tries to add it automatically, nothing appears on the screen, the form just stays open and the tracker doesn't come up.  I'm on Windows 7, Acrobat XI Pro.  I can send you the form if needed.
    Edit: I investigated further and there were Java scripts associated with that date field.  These would have been added while creating the form in Acrobat; I don't remember how exactly, but I only meant to validate the date format.  I've removed all the scripts and reset the desired date format on the field and it seems to work now.

    I use Mavericks and Acrobat XI. I haven't had any issues so far.

  • How to read response from WebService call

    Hi,
    I am consuming webservices in ABAP. I got proxy classes created. Port is also created.
    I am calling classes generated by proxy in ABAP. Classes creates few structure by system. when i make a call to service, I am not getting importing values in veariables declared. Trace file (in SOAMANAGER ) shows call successful & XML file shows the correct response values, but are not appearing in program variables. I declared variables of same type generated by system.
    My question is, am I missing any step.configuration? or how to read the variables?
    Thanks in advance.
    Sunil

    You coud create a procedure like this:
    CREATE OR REPLACE PROCEDURE soap_env_pr (p_soap_env IN VARCHAR2)
    IS
       v_start     NUMBER;
       v_end       NUMBER;
       v_message   VARCHAR2 (400);
       v_length    NUMBER;
    BEGIN
       v_start := INSTR (p_soap_env, '<ns0:Ok>');
       v_length := LENGTH ('<ns0:Ok>');
       v_end := INSTR (p_soap_env, '</ns0:Ok>');
       v_message :=
              SUBSTR (p_soap_env, v_start + v_length, v_end - v_start - v_length);
       HTP.prn ('Ok: ' || v_message);
       v_start := INSTR (p_soap_env, '<ns0:SessionNumber>');
       v_length := LENGTH ('<ns0:SessionNumber>');
       v_end := INSTR (p_soap_env, '</ns0:SessionNumber>');
       v_message :=
              SUBSTR (p_soap_env, v_start + v_length, v_end - v_start - v_length);
       HTP.prn ('SessionNumber: ' || v_message);
       v_start := INSTR (p_soap_env, '<ns0:ErrorMessage>');
       v_length := LENGTH ('v_length');
       v_end := INSTR (p_soap_env, '</ns0:ErrorMessage/>');
       v_message :=
              SUBSTR (p_soap_env, v_start + v_length, v_end - v_start - v_length);
       HTP.prn ('ErrorMessage: ' || v_message);
    END;and call it like this:
    BEGIN
       soap_env_pr
          ('<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/>
    <env:Body>
    * <invokeScenarioResponse xmlns:ns0="xmlns.oracle.com/odi/OdiInvoke/" xmlns="xmlns.oracle.com/odi/OdiInvoke/">*
    * <ns0:Ok>true</ns0:Ok>*
    * <ns0:SessionNumber>2223201</ns0:SessionNumber>*
    * <ns0:ErrorMessage/>*
    * </invokeScenarioResponse>*
    </env:Body>
    </env:Envelope>'
    END;That would give you this output:
    Ok: true
    SessionNumber: 2223201
    ErrorMessage:Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • Getting response from a server

    im working on a simple smtp mail sender and i want to get responses to the commands that i post to the DataOutputStream. in all examples on java.sun.com and the net, there is a while block used for reading response from the server.
    while((c=is.read()) != -1)
    sb.append((char)c);
    this code did not work on my application, i changed a bit like below:
    /**Get a response from server */
    private String getResponse() throws IOException {
    int CR = 0, LF = 0;
    int c;
    char ch;
    int count = 0;
    StringBuffer sb = new StringBuffer();
    while (true) {
    c = is.read();
    count++;
    ch = (char) c;
    if (c == -1) {
    break;
    else if (ch == '\r') {
    CR = count;
    else if (ch == '\n') {
    LF = count;
    if (LF - 1 == CR) { //CRLF seen
    sb.append(ch);
    break;
    sb.append(ch);
    return sb.toString();
    and i use this function in my code as
    os.write( ("QUIT\r\n").getBytes());
    System.out.println("QUIT : " + getResponse());
    this works, because it returns a single line that has a CRLF at the and of line, but if i want to read multi-line responses like greeting messages, i tried to change the code as on the examples like:
    /**Get a response from server */
    private String getResponse() throws IOException {
    int c;
    StringBuffer sb = new StringBuffer();
    while((c=is.read()) != -1)
    sb.append((char)c);
    return sb.toString();
    this code does not work, because i cannot reach the end of stream. i want to post one command and get one response for that command.
    how an algorithm i can develop to solve this problem?
    thanks for all help.

    i changed the code and it's working well now:
    /**Get a response from server */
    private String getResponse() throws IOException {
    int c;
    if((c=is.read()) != -1) {
    byte[] b = new byte[is.available()];
    StringBuffer sb = new StringBuffer();
    is.read(b);
    sb.append((char)c);
    for(int i=0; i<b.length; i++) {
    sb.append((char)b);
    return sb.toString();
    return "";
    if you directly use is.available() when there is no response currently available, it returns 0. we wait for the first character of server response, and then use is.available(). thanks to Kay_Kadner for the idea.
    (im a newbie, and dont know how to convert byte[] to String, tried b.toString() but only got meaningless values)

  • Read values from html response

    Hi,
    I am trying to make a call to an API using UTL_HTTP POST method over SSL and read the response html page and extract the values from the reponse.
    I am able to call and get a response back in html format. I have stored the html response in a clob variable.
    Now i want to parse this html and extract values from the form input items and send them out through OUT parameters.
    For example, from below reponse i want to extract the value '1111d7nhcwse30wq' from 'I4GO_UNIQUEID'
    Can anyone help me with the code to parse this html response and extract the values.
    Any help is greatly appreciated.
    Thanks
    Sharath
    sample Code:
    PROCEDURE get_token (
    p_requesterreference IN VARCHAR2,
    p_cardnumber IN VARCHAR2,
    p_cardtype IN VARCHAR2,
    p_cardholdername IN VARCHAR2,
    p_expirationmonth IN VARCHAR2,
    p_expirationyear IN VARCHAR2,
    p_streetaddress IN VARCHAR2,
    p_postalcode IN VARCHAR2,
    p_cvv2code IN VARCHAR2,
    po_uniqueid OUT VARCHAR2,
    po_errorindicator OUT VARCHAR2,
    po_primaryerrorcode OUT VARCHAR2,
    po_response OUT VARCHAR2,
    po_status_code OUT VARCHAR2,
    po_reason_phrase OUT VARCHAR2
    IS
    v_url VARCHAR2 (200);
    v_url_params VARCHAR2 (32767);
    v_resp_str VARCHAR2 (32767);
    l_http_req UTL_HTTP.req;
    l_http_resp UTL_HTTP.resp;
    v_requesterreference VARCHAR2 (12) := p_requesterreference;
    v_i4go_cardnumber VARCHAR2 (32) := p_cardnumber;
    v_i4go_streetaddress VARCHAR2 (30) := p_streetaddress;
    v_i4go_postalcode VARCHAR2 (9) := p_postalcode;
    v_i4go_expirationmonth VARCHAR2 (2) := p_expirationmonth; -- MM format
    v_i4go_expirationyear VARCHAR2 (2) := p_expirationyear; -- yy format
    v_i4go_cvv2code VARCHAR2 (3) := p_cvv2code;
    v_name VARCHAR2 (256);
    v_value VARCHAR2 (1024);
    l_clob CLOB;
    pv_amp CONSTANT CHAR (1) := CHR (38);
    CURSOR setup_cur
    IS
    SELECT interface_id, interface_name, interface_url, account_id, site_id
    FROM rsv.shift4_setup
    WHERE interface_name = 'I4GO';
    v_setup_rec setup_cur%ROWTYPE;
    BEGIN
    OPEN setup_cur;
    FETCH setup_cur
    INTO v_setup_rec;
    CLOSE setup_cur;
    v_url := 'https://certify.i4go.com//index.cfm?fuseaction=account.PostCardEntry';
    v_url_params :=
    pv_amp
    || 'i4GO_AccountID='
    || v_setup_rec.account_id
    || pv_amp
    || 'i4Go_SiteID='
    || v_setup_rec.site_id
    || pv_amp
    || 'i4Go_CardNumber='
    || v_i4go_cardnumber
    || pv_amp
    || 'i4Go_ExpirationMonth='
    || v_i4go_expirationmonth
    || pv_amp
    || 'i4Go_ExpirationYear='
    || v_i4go_expirationyear
    || pv_amp
    || 'i4Go_CVV2Code='
    || v_i4go_cvv2code
    || pv_amp
    || 'i4Go_PostalCode='
    || v_i4go_postalcode;
    -- begin request using POST method
    UTL_HTTP.set_response_error_check (FALSE);
    UTL_HTTP.set_transfer_timeout (180);
    UTL_HTTP.set_wallet ('file:/etc/ORACLE/WALLETS/oracle', 'welcome1');
    l_http_req := UTL_HTTP.begin_request (v_url, 'POST');
    UTL_HTTP.set_header (l_http_req, 'User-Agent', 'Mozilla/4.0');
    UTL_HTTP.set_header (l_http_req, 'Content-Type', 'application/x-www-form-urlencoded');
    UTL_HTTP.set_header (l_http_req, 'content-length', LENGTH (v_url_params));
    UTL_HTTP.write_text (l_http_req, v_url_params);
    -- get response
    l_http_resp := UTL_HTTP.get_response (l_http_req);
    po_status_code := l_http_resp.status_code;
    po_reason_phrase := l_http_resp.reason_phrase;
    -- read response into a clob
    DBMS_LOB.createtemporary (l_clob, FALSE);
    BEGIN
    LOOP
    UTL_HTTP.read_text (l_http_resp, v_resp_str, 32767);
    DBMS_LOB.writeappend (l_clob, LENGTH (v_resp_str), v_resp_str);
    END LOOP;
    EXCEPTION
    WHEN UTL_HTTP.end_of_body
    THEN
    -- end response
    UTL_HTTP.end_response (l_http_resp);
    END;
    -- Fre resources
    DBMS_LOB.freetemporary (l_clob);
    EXCEPTION
    WHEN OTHERS
    THEN
    DBMS_LOB.freetemporary (l_clob);
    DBMS_OUTPUT.put_line (UTL_HTTP.get_detailed_sqlerrm);
    RAISE;
    END;
    sample response:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
         <title>Return With Payment Token</title>
         <script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
         <script type="text/javascript"><!--
              picSpinner= new Image(40,40);
              picSpinner.src="images/loading040.gif";
              bodyOnLoad = function() {
                   $("#noScriptDiv").hide();
                   $("#scriptDiv").show();
                   $("#i4GoMainForm").submit();
         //--></script>
    </head>
    <body onload="bodyOnLoad();">
         <form name="i4GoMainForm" id="i4GoMainForm" action="http://google.com" method="POST" onsubmit="$('#i4Go_submit').attr('disabled','disabled');">
                   <input name="I4GO_RESPONSE" type="hidden" value="SUCCESS" />
                   <input name="I4GO_RESPONSECODE" type="hidden" value="1" />
                   <input name="I4GO_CARDTYPE" type="hidden" value="VS" />
                   <input name="I4GO_UNIQUEID" type="hidden" value="1111d7nhcwse30wq" />
                   <input name="I4GO_EXPIRATIONMONTH" type="hidden" value="12" />
                   <input name="I4GO_EXPIRATIONYEAR" type="hidden" value="2012" />
                   <input name="I4GO_CARDHOLDERNAME" type="hidden" value="" />
                   <input name="I4GO_STREETADDRESS" type="hidden" value="" />
                   <input name="I4GO_POSTALCODE" type="hidden" value="65000" />
              <div id="scriptDiv" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;visibility:hidden;">
                   <img src="images/loading040.gif" alt="Spinner..." />  Loading...
              </div>
              <div id="noScriptDiv" style="font-family:Arial, Helvetica, sans-serif;">
                   <noscript>
                                       <h1>Statement of Tokenization</h1>
                                       <p>The payment information you have submitted has been securely stored in the Shift4 PCI-DSS certified data center and a token representing this information will be sent to the merchant for processing. Below is the information that will be returning to the originating merchant:</p>
                                       <ul>
                                            <li>Response: <strong>SUCCESS</strong></li>
                                            <li>Response Code: <strong>1</strong></li>
                                            <li>Card Type: <strong>VS</strong></li>
                                            <li>Token: <strong>1111d7nhcwse30wq</strong></li>
                                       </ul>
                   </noscript>
    <input type="submit" name="i4Go_submit" id="i4Go_submit" value="Continue" />
              </div>
         </form>
    </body>
    </html>
    Edited by: sgudipat on Apr 24, 2012 1:20 PM

    Here is working example for your HTML using xpath to extract values from html
    You can store your html response in clob variable and then extract the value with xpath
    declare
       l_clob clob;
       l_value varchar2(100);
       l_xml xmltype;
      begin
         l_clob :='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>Return With Payment Token</title>
      <script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
      <script type="text/javascript"><!--
       picSpinner= new Image(40,40);
       picSpinner.src="images/loading040.gif";
       bodyOnLoad = function() {
       $("#noScriptDiv").hide();
       $("#scriptDiv").show();
       $("#i4GoMainForm").submit();
      //--></script>
       </head>
       <body onload="bodyOnLoad();">
       <form name="i4GoMainForm" id="i4GoMainForm" action="http://google.com" method="POST" onsubmit="$(''#i4Go_submit'').attr(''disabled'',''disabled'');">
       <input name="I4GO_RESPONSE" type="hidden" value="SUCCESS" />
       <input name="I4GO_RESPONSECODE" type="hidden" value="1" />
       <input name="I4GO_CARDTYPE" type="hidden" value="VS" />
       <input name="I4GO_UNIQUEID" type="hidden" value="1111d7nhcwse30wq" />
       <input name="I4GO_EXPIRATIONMONTH" type="hidden" value="12" />
       <input name="I4GO_EXPIRATIONYEAR" type="hidden" value="2012" />
       <input name="I4GO_CARDHOLDERNAME" type="hidden" value="" />
       <input name="I4GO_STREETADDRESS" type="hidden" value="" />
       <input name="I4GO_POSTALCODE" type="hidden" value="65000" />
      <img src="images/loading040.gif" alt="Spinner..." />  Loading...
       <noscript>
       Statement of Tokenization
       The payment information you have submitted has been securely stored in the Shift4 PCI-DSS certified data center and a token representing this information will be sent to the merchant for processing. Below is the information that will be returning to the originating merchant:
           Response: SUCCESS
           Response Code: 1
           Card Type: VS
           Token: 1111d7nhcwse30wq
       </noscript>
       <input type="submit" name="i4Go_submit" id="i4Go_submit" value="Continue" />
       </form>
       </body>
       </html>';
         execute immediate 'alter session set events =''31156 trace name context forever, level 2''';
         l_xml := xmltype(l_clob);
         execute immediate 'alter session set events =''31156 trace name context off''';
         select extractvalue( l_xml
                            , '/html/body/form/input[@name="I4GO_CARDTYPE"]/@value'
                            , 'xmlns="http://www.w3.org/1999/xhtml"' )
         into l_value
         from dual;
         dbms_output.put_line(l_value);
       end;
    Problem when parsing html with xpath and xmltype
    Edited by: peterv6i.blogspot.com on Apr 26, 2012 9:38 AM

  • How to read data in binary form from file?

    Hi,
    i try to write an implementation of LZW. I need to read data in binary form from a file. How can i do that? I cannot find something like "binary input stream" ...
    Thanks

    Hi,
    i try to write an implementation of LZW. I need to
    read data in binary form from a file. How can i do
    that? I cannot find something like "binary input
    stream" ...
    ThanksInputStream reads bytes. I don't understand your question.

Maybe you are looking for

  • Google Images not working in Safari on Iphone

    Since a while back the "images"-tab in google does'nt work on the iPhone in any of the browsers I've tried. I've searched the net to find others with the same problem but with little luck. Here's a description of the problem. For example I search for

  • Porta Runtime error in MDT

    Hi All,          When a single user access the MDT role in his portal he faces the below error: Portal Runtime Error An exception occurred while processing a request for : iView : pcd:portal_content/com.cw.folder.Content/com.cw.folder.content.roles/c

  • Acrobat 9 Pro - Unusual Organizer Problem

    I am currently using Acrobat Pro 9.4.6, but this problem first occurred two updates ago.  The last two times I made a new Organizer collection, it added multiple entries for the same collection.  These multiple entries appear on the drop down list fo

  • How to access HBM Business rules

    Hello: I was a HFM user and just being granted "developer access". I wonder where I can see the VB script code of the consolidation business rules. From the HFM workspace, I did Start ==> Administrator ==> Calculation Manager, can not see anything. W

  • EHP4 Installation: MAIN_SHDIMP/SHADOW_IMPORT_INC

    Hello all. We are installing EHP4 on a SAP ERP 6.0 using EHPI and got the following error on the MAIN_SHDIMP/SHADOW_IMPORT_INC phase: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SHADOW IMPORT ERRORS and RETURN CODE in SAP