Sending a formatted string to a servlet

I'm trying to send a string that contains some carriage returns to a servlet.
Right now what I'm doing is converting the contents of a file to bytes, then to a string. I write that string to a stream to the servlet.
But once I pull the string from the stream on the servlet, it looks like the formatting is lost.
Anyone know what I'm doing wrong? Thanks!!!!
This is the code I'm using to convert the data to bytes, then string:
File file = new File(inputPath+"/"+dataFile);
                                  byte[] b = this.getBytesFromFile(file);
                                  String rap = new String(b);I then use this code to write to the stream:
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
                  out.write(rap);
                  out.flush();
                  out.close();This is the code I have on the servlet to get the data off the stream:
InputStream in = request.getInputStream();
      BufferedReader inStream = new BufferedReader(new InputStreamReader(in));
      String line;
      StringBuffer xmlStrBuf = new StringBuffer();
        while((line = inStream.readLine()) != null) {
          xmlStrBuf.append(line);
        String xml = xmlStrBuf.toString();
        out.println("Xml string:");
        out.println(xml);

Why use "getBytesFromFile" and then create a string with those bytes? Why not open the file with a FileReader?
What's the default character encoding on the client? What is it on the server?
What's in the Content-Type header? How about Content-Length?

Similar Messages

  • Sending long XML strings from a servlet

    Hi,
    I'm trying to send a long (16K) XML string from a Java servlet to a
    MSXML2.XMLHTTP40 client. The client doesn't receive any data when the
    string is longer than about 2K .
    I am using the POST method.
    I have tried increasing the buffer size on the sending side with
    HttpServletResponse.setBufferSize() - this had no effect.
    Any ideas ?
    Thanks very much for your help,
    Rod

    Looks like the problem is on the client side (MSXML) because I can flawlessly send half-megs XML files from a Servlet to a browser or a java.net.URL

  • How to send a String to a Servlet using a HTTP POST

    Well, I have designed a servlet that receives a HTTP POST, I was testing it using an HTML form to send (using POST) information, now, I have coded a Java App to send it a string, I don't know how to make the servlet recognize that info so it can make its work, I am posting both codes (Servlet & API) so anyone can guide me and tell me how and where to modify them
    Servlet:
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    public class xmlwriter extends HttpServlet
    public void service(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    ServletOutputStream salida = res.getOutputStream();
    res.setContentType("text/HTML");
    String cadena = req.getParameter("cadena");
    File f1 = new File ("c:/salida.xml");
    FileWriter out = new FileWriter(f1);
    f1.createNewFile();
    out.write(cadena);
    out.close();
    salida.println("OK");
    Now, the JAVA API is:
    import java.io.*;
    import java.net.*;
    public class HTTPSender {
    public static void main(String[] args) throws Exception {
    URL url1 = new URL
    ("http://localhost:8080/XMLSender/xmlwriter");//internal site
    URLConnection UrlConnObj1 = url1.openConnection();
    HttpURLConnection huc1 = (HttpURLConnection)UrlConnObj1;
    huc1.setRequestMethod("POST");
    huc1.setDoOutput(true);
    huc1.setDoInput(true);
    huc1.setUseCaches(false);
    huc1.setDefaultUseCaches(false);
    String cadena = ""
    + "<root>\n"
    + "<tlf>$TLF$</tlf>\n"
    + "<op>$OP$</op>\n"
    + "<sc>$SC$</sc>\n"
    + "<body>$BODY$</body>\n"
    + "</root>";
         PrintWriter out = new PrintWriter(huc1.getOutputStream());
    System.out.println("string="+cadena);
    out.write(cadena);
    out.close();
    I'm a JAVA newbie, so, maybe I'm getting a bad idea of what I need to do, anyway, every (detailed) help is welcome. What my servlet should do (and it doesn't when I send the message through the API) is to write a file with the info received.

    I'm not trying to send a string from a WEB Page, I'm tryring to send it using a JAVA program, I mean, using a HTTPSender, in fact, I already have made the code to do that:
    import java.io.*;
    import java.net.*;
    public class HTTPSender {
    public static void main(String[] args) throws Exception {
    try {
    String cadena = "Message to be written";
    // Send data
    URL url = new URL("http://localhost:8080/XMLSender/xmlwriter");
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);
    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    wr.write(cadena);
    wr.flush();
    // Get the response
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String line;
    while ((line = rd.readLine()) != null) {
    // Process line...
    wr.close();
    rd.close();
    } catch (Exception e) {
    And modified my servlet so it can receive anything:
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    public class xmlwriter extends HttpServlet
    public void service(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    ServletOutputStream salida = res.getOutputStream();
    res.setContentType("text/HTML");
    String cadena = req.toString();
    File f1 = new File ("c:/salida.xml");
    FileWriter out = new FileWriter(f1);
    f1.createNewFile();
    out.write(cadena);
    out.close();
    salida.println("OK");
    Now the problem is that, the servlet in fact DOES create the file, but....the file is empty, that means that no info is arriving to the servlet, why?, how should I send it then? I repeat FORGET about a Web Page Form, that is in the past and I don't need that.

  • Premiere sends EDL with 'invalid timecode format string'

    Following the suggestions in this thread, I am attempting to send an EDL of a Premiere sequence to Speedgrade.
    When I attempt to import the EDL into Speedgrade I get this error message:
    ERROR
    In point timecode is invalid. Invalid timecode format string(hours): '23813+20'
    in edit 1
    File: 001 LR001 V C 2813+20 23815+17 0:00 1+37
    Line: 2
    I've worked very rarely with EDLs but have read the Speedgrade and Premiere guides. I must be missing something but can't tell what.  Here's the details from my project:
    I'm editing in 24fps. The video files are generated in After Effects from DPX files. The timecode is based on the DPX file names, with the hour matching the Lab Roll number (so 11:00:00 for Roll 11)
    I export an EDL in CMX3600 format. I've tried both default settings and without audio. Same results. I even get the same result if I make a sequence from a single clip and try exporting that EDL.
    I don't think this is a Speedgrade issue, because if I try re-importing the EDL into Premiere, it seems like all the clips are only one frame long.
    Any suggestions about what I might be doing incorrectly would be greatly appreciated.
    Thanks,
    Lev         

    Are you wanting to just simply go from Premiere to Speedgrade? If so why not just use the "send to speedgrade" choice. Also I wanted to point out in the original thread you actually said you didn't want to use speedgrade, I've never used a EDL with speedgrade so I have 0 ideas there, but have you tried just using Premiere's built in send to speedgrade function?

  • How to send a String value  from Servlet to  Action class in Struts .

    when iam trying to send string value from Servlet to Struts Action class through Http Session, iam getting null value, iam really in big confusion, help me.

    please elaborate clearly or put you code of both action and servlet here
    Are both of them in same web application

  • To Send HTML Format and excel file attachment  in same mail

    Dear All,
            Have requerment ,to send a mail options HTML table format and same data in excel file attachement.have capable to do the html format using methods BCS .but how to send excel format attachment in same  mail.
    Please guide me how to do it.
    Regards ,
    Santhu
    Edited by: santosh jajur on Apr 9, 2010 1:54 PM

    Santhosh,
    please check the code:
    report bcs_example_7.
    This report provides an example for sending an Excel
    attachment in Unicode Systems
    constants:
      gc_tab  type c value cl_bcs_convert=>gc_tab,
      gc_crlf type c value cl_bcs_convert=>gc_crlf.
    parameters:
      mailto type ad_smtpadr
       default 'ur mail id'.                    "#EC *
    data send_request   type ref to cl_bcs.
    data document       type ref to cl_document_bcs.
    data recipient      type ref to if_recipient_bcs.
    data bcs_exception  type ref to cx_bcs.
    data main_text      type bcsy_text.
    data binary_content type solix_tab.
    data size           type so_obj_len.
    data sent_to_all    type os_boolean.
    start-of-selection.
      perform create_content.
      perform send.
    form send.
      try.
          send_request = cl_bcs=>create_persistent( ).
        create document object from internal table with text
          append 'Hello world!' to main_text.                   "#EC NOTEXT
          document = cl_document_bcs=>create_document(
            i_type    = 'RAW'
            i_text    = main_text
            i_subject = 'Test Created By BCS_EXAMPLE_7' ).      "#EC NOTEXT
        add the spread sheet as attachment to document object
          document->add_attachment(
            i_attachment_type    = 'xls'                        "#EC NOTEXT
            i_attachment_subject = 'ExampleSpreadSheet'         "#EC NOTEXT
            i_attachment_size    = size
            i_att_content_hex    = binary_content ).
        add document object to send request
          send_request->set_document( document ).
        --------- add recipient (e-mail address) -----------------------
        create recipient object
          recipient = cl_cam_address_bcs=>create_internet_address( mailto ).
        add recipient object to send request
          send_request->add_recipient( recipient ).
        ---------- send document ---------------------------------------
          sent_to_all = send_request->send( i_with_error_screen = 'X' ).
          commit work.
          if sent_to_all is initial.
            message i500(sbcoms) with mailto.
          else.
            message s022(so).
          endif.
      endtry.
    endform.                    "send
    form create_content.
      data lv_string type string.
      data ls_t100 type t100.
    columns are separated by TAB and each line ends with CRLF
      concatenate 'This Is Just Example Text!'                  "#EC NOTEXT
                  gc_crlf gc_crlf
                  into lv_string.
    header line
      concatenate lv_string
                  'MSGID'    gc_tab
                  'MSGNO'    gc_tab
                  'Language' gc_tab                             "#EC NOTEXT
                  'Text'     gc_crlf                            "#EC NOTEXT
                  into lv_string.
    data lines
      select * from t100 into ls_t100
        where arbgb = 'SO' and msgnr = '182'.
        concatenate lv_string
                    ls_t100-arbgb gc_tab
                    ls_t100-msgnr gc_tab
                    ls_t100-sprsl gc_tab
                    ls_t100-text  gc_crlf
                    into lv_string.
      endselect.
      select * from t100 into ls_t100
        where arbgb = 'SO' and msgnr = '316'.
        concatenate lv_string
                    ls_t100-arbgb gc_tab
                    ls_t100-msgnr gc_tab
                    ls_t100-sprsl gc_tab
                    ls_t100-text  gc_crlf
                    into lv_string.
      endselect.
      try.
          cl_bcs_convert=>string_to_solix(
            exporting
              iv_string   = lv_string
              iv_codepage = '4103'  "suitable for MS Excel, leave empty
              iv_add_bom  = 'X'     "for other doc types
            importing
              et_solix  = binary_content
              ev_size   = size ).
        catch cx_bcs.
          message e445(so).
      endtry.
    endform.                    "create_content
    Thanks.

  • How can i send xml file with a http servlet request

    Hi
    Please tell me how can I send a xml file into http servlet request.
    I have a servlet(action) java file.From this servlet I have generate a xml file. Now I need to send that xml file to another servlet with http servlet request object.
    Dave.

    When you say you have generated an XML file what do you mean?
    Is it a file stored on disk? Then pass the file path as a string to the servlet.
    Is it stored in memory as an object? The pass a reference to the object to the servlet.
    Or are you asking how to communicate between servlets?
    Look in the JavaDocs for the RequestDispatcher class. You can use this class to forward the request to another servlet. Data can be passes using the RequestDispatcher by storing it as attributes using the request getAttribute and setAttribute methods. Also described in the JavaDOcs.
    http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/RequestDispatcher.html

  • Help!!! Sending serialized object to another server/servlet

    I am trying to simply send a serialized bean to a servlet on another server. I have lot's of examples of doing this as a stream and recieving back a stream to output, trouble is, I want to do this as a means of communicating the state of a process from one application kicking off the process on the new application. So when the page is returned, I need to be located on the new server. Here is the stream code I'm using:
    String strUrl = "http://www.myurl.net";
    try {
         URL url = new URL(strUrl);
         HttpMessage msg = new HttpMessage(url);
         BufferedReader in;
         Object beanObj = (Object) myBean;
         MyBean beany = (MyBean) beanObj;
         in = new BufferedReader(new InputStreamReader(msg.sendPostMessage(beany)));
         String inputLine;
         while ((inputLine = in.readLine()) != null) {
         out.println(inputLine + "\n");
         in.close();
    catch(IOException io) {
    out.println("Unable to call the servlet " + io);
    out.close();
    How would I do this if I wanted to send and not come back to the original server?

    Why not create a little daemon to run on Server B (using the Servlet API would make this really easy) that listens for requests from Server A. The Servlet running on Server A would:
    1. Do whatever it needs to do
    2. Open an HttpURLConnection to Server B, use the getOutputStream() method to get a pipe to write serialized data to, couple it with an ObjectOutputStream, and write the session object to it.
    3. Use the sendRedirect() method to redirect the client to Server B.
    Upon receiving a request, the Servlet on Server B would:
    1. Call Servlet.getInputStream() to get the input stream to read objects from.
    2. Couple this with an ObjectInputStream to read objects from.
    3. Read the session object and cast it to the appropriate type.
    4. Stash the session object in a global lookup so it can be retrieved when the client arrives. I don't think the session can be created at this point because the request doesn't originate from the browser.
    Then, finally, the Servlet running on Server B that handles client requests would:
    1. Create a new session
    2. Retrieve the session object from the global data store and stash it in session.
    3. Go on its merry way.
    Hope this was on target and is useful.

  • Using SKPTSMTPMessage how to send a variable String?

    I am using SKPTSMTPMessage to send an email in the background but I need to send a variable string. I have tried putting a %@ in the text but it just sends the %@ and not a variable. Please Help?
    Hopefully, iCrazy23

    Did you ever figure out how to do this?  Because actually I'm trying to do pretty much exactly the same thing.  I'm actually having trouble even outputting the digital signal at all with my USB-6501.  I was initially trying to use DAQ Assistant, but then found out I probably shouldn't be using this and instead should be using the DAQmx individual functions.  I was directed by NI Support to look at the example "Gen Dig Pulse Train-Continuous.vi," but I haven't been able to figure out how to use this for my application.   For my project I  want to send a TTL signal to vavles that release fluids as well.  I have 3 2-way liquid releasing valves that I want to be synced so that only one is open at a time (for a user specified amount of time), and they open in a regular repeating sequence.  I also have another 3-way valve controlling a vacuum that I would like to be continuously pulsing, but for specified amounts of time (e.g., 3 seconds open, 3 seconds closed, and so on).
    I believe I can figure out the logic and the programming involved with figuring out the exact sequencing and timing manipulation, however, I'm having trouble just being able to output any digital signal with a varying time.  If you could offer any help on this, it would be greatly appreciated.  Thanks!

  • Parsing formatted String to Int

    How can I parse formatted string to Integer ?
    I have a formated string like this $900,000 and I need to convert it to 900000 so I could do calculations with it.
    I tried something like this
    NumberFormat nf = NumberFormat.getIntegerInstance(request.getLocale());
    ttlMargin=nf.parse(screenVal);I got this exception
    "java.lang.NumberFormatException: For input string: "$1,050,000""

    I am working on the JSP file that provides
    margins,sales etc. I am reading this data off the
    screen where it is beeing displayed according to the
    accounting practices.
    That's why I get it as a formatted string and why I
    am trying covert that string to the numberScreen-scraping is a problematic, bad design. It sounds like what you really want is to call a web service which returns its results as data that a program can understand (XML, for example), not HTML (which is meant more for humans to read). I know, you probably can't change the design at this point... just food for thought. In the meantime, you'll probably have to manually parse those strings yourself by stripping out the '$' and ',' characters and then use parseInt on the result.

  • Send a json string to an HTTP in labview

    Hi,
    I need to assing values to an HTTP site by sending a json string, I have been trying using the HTTP client PUT vi with no success, does anyone have an easy way of sending a json string to an HTTP site in labview thru the PUT method???
    Thank you

    What have you tried?
    This should work as a basic example:
    If you have LabVIEW 2013 or newer, there are built-in VIs for encoding/decoding JSON strings to/from LabVIEW clusters.
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • How do I  Send HTML formatted email  using  class in  javax.mail pkg

    How do I Send HTML formatted email using javax.mail pkg class ?i mean is thr any class available in this package to do this ?

    Please see
    http://javaalmanac.com/egs/javax.mail/SendApp.html
    for Quintessential Program to Send E-Mail.
    Then substitute line
    msg.setText(content);
    /with this one
    msg.setContent( content , "text/html");
    it should do in simplest form.

  • Exchange 2010, khi: failed to execute Troubleshoot-DatabaseSpace.ps1 Error formatting a string: Format string is not supported

    Hi,
    Exchange 2010 MP fails to run Troubleshoot-DatabaseSpace.ps1. Results in a Warning with "Error formatting a string: Format string is not supported". The EventNumber is 402. The Microsoft article it points to is useless at http://technet.microsoft.com/en-us/library/749e0eac-ebb2-41e3-8fa2-4a03a1bd3571.aspx 
    Run ".\Troubleshoot-DatabaseSpace.ps1 -Server MailboxServer.domain.com -MonitoringContext" and works fine.
    Any help appreciated.
    thanks

    Hi,
    Before the newer MP release, we can disable  these 4 monitor via override and this should not run the Troubleshoot-DatabaseSpace.ps1 :
    KHI: Failed to execute Troubleshoot-DatabaseSpace.ps1.
    KHI: The database copy is low on database volume space and continues to grow. The volume is under 25% free
    KHI: The database copy is low on database volume space and continues to grow. The volume has reached error levels under 16% free.
    KHI: The database copy is low on database volume space and continues to grow. The volume has reached critical levels 8% free.
    Alex Zhao
    TechNet Community Support

  • How to send HTML Format Mail using Java Mail in oracle 9i Forms

    Dear All
    could you please tell me how to send HTML Format Mail using Java Mail in oracle 9i Forms and how to implement the java mail ?
    if it is possible, could you please send me the sample code? please very urgent
    Thanks
    P.Sivaraman

    Hello,
    <p>Here is a Form sample.</p>
    Francois

  • How to get the system date format string?

    Hello, everybody!
    I want to create a MaskFormatter with a mask for dates. So, I could suply as the constructor parameter: "##/##/####'. However, what if the year comes first in the current system date format settings, or the month is in the second place or in the first?... So, I can't just suppose that the current locale format for dates is like the one above. So, my question is: is there a way to get the SYSTEM DATE FORMAT STRING in Java? Searching in google I saw that this was already asked in this forum:
    http://forum.java.sun.com/thread.jspa?threadID=301034&messageID=1193794
    but there was no effective answer. Does someone already know how to get this?
    Thank you.
    Marcos

    Hi, not sure, but
    import java.text.*;
    SimpleDateFormat sdf = new SimpleDateFormat();
    System.out.println(sdf.toPattern());
    will output something like dd/MM/yy HH:mm
    hthThank you very much. It worked.

Maybe you are looking for

  • DVD Burn/Verification Failure &   -R vs. +R  Fix

    The PROBLEM: (three trials, three failures) Burning DVD with digital picture files. Burned from Finder and Burn Folder. Burns completely but fails verification process. Appears not to enter the verification process at all. Error Message: This disc di

  • Color of container name in screen painter - problem

    Hi, I have written a program to collect records from the database and display them in the ALV Grid using OOP Methods. I have created a screen for this and called it in my program. It is working but in the screen painter the name of the container cont

  • Viber call doesn't work

    i have installed viber on my xperia sp phone about 20 times and​ it does not work properly the sound is muted randomly ocasionally it works good

  • ASM install onto LVM: What am I missing?

    Hii all, First, I am new to ASM. I've gone through one install, where they had raw devices set up and it was smooth. However, I've gotten onto a box (test) where I want to set up Oracle with ASM...trouble is, there are no raw volumes or available dis

  • Paypal Credit Card Integration

    After following through on the white paper for setting up paypal, I have been able to successfully got the Paypal integration to work. Now I am trying to accept credit card using the same app, but it does not seem to like it. Has anybody ran into thi