Https request in my JAVA application ?

In order to retrieve the real time flow from my broker in my JAVA application I need to do a https request.
When using a web browser a window to enter username and password shows up as a result of a request to : https://clients.dubus.fr/clients/nego/crtsdm.exe?code=tnu&origine=FR
What I would like is to code/simulate this behavior in my JAVA application.
I thought that JSSE but I can not even find JAVA examples when 'username' and 'password is used'.
As you see, I am a little bit lost
Thanks in advance for your help.

That type of authentication has nothing to do with the HTTPS stuff. It's a standard client-server authentication. The initial request will get a response from the server which includes headers which tell the client it needs to give login information. The browser prompts the user, and uses that in another request to the same source with the user ID info included in the request headers.
Check out this page for some details:
http://www.javaworld.com/javaworld/javatips/jw-javatip47.html

Similar Messages

  • How to submit a HTTP Request from a Java Program

    I am working on an web based application where in I need to submit the HttpRequest through a Java Program and not through browser. Moreover my intent is just to submit the HttpRequest. I donot want to wait for the response to come back. I have used the URL Connection class to do the same and I am trying to post this request. The contents of the methods that I am using are as below:-
    public void doPost(URL url, String inputXMLString) throws IOException
              //Create URLConnection based on the passed URL
              URLConnection connection = url.openConnection();
              connection.setDoOutput(true);
              connection.setDoInput(false);
              connection.setUseCaches(false);
              connection.setAllowUserInteraction(false);
              connection.setRequestProperty("Content-type", "application/x-www-form-
    urlencoded");
              //Get the Connection's output stream and write the request to it.
              PrintWriter out = new PrintWriter(connection.getOutputStream());
              out.print("&ena-request-input=" + URLEncoder.encode(inputXMLString));
              out.flush();
              out.close();
    Call to the above method does not invoke the URL I am intending to submit the request at.
    Can anybody give me the clue....................................................?

    I agree with the advice to launch a new thread to read and ignore the response. I don't think you should have to do it to make it work, but it's worth trying for two reasons:
    1) If it turns out it does make it work, well, then either you can leave it that way, or use that as a clue to help figure out how to make it work the way you want.
    2) There may be an error message there that will give you an idea why it's not working.
    When you say it's not invoking the servlet, what does that mean, and how do you know? Is it just that the final results aren't being seen? Put a bunch of logging statements in the servlet. It could be that it's getting hit, but you're corrupting the string you're building, or sending some extra junk that it can't handle. Spit out a log statement from the start of doPost, to see if it's even getting there. Then log the parameter. Enclose the output in quotes or braces or something to make sure there's not extra junk. I've had XML docs not parse because there was a blank line at the beginning.
    If it works in the browser but not from your standalone app, then you need to have the servlet tell what difference it sees in the two cases. Print out headers, other params, everything you can think of.
    Re-read the docs for URL, HttpURL, whatever, to make sure you're doing all the right steps in the right order. Make a servlet that just takes a single, simple param=value via POST and see if you can get that to work.

  • How to Intercept Http requests by Application Server plugin ?

    Hi all,
    My requirement of "Application Server plugin/filter" is to intercept all Httprequests coming to an
    Application Server instance (and not webserver), get the related information from the request, do whatever
    i want to do and then forward the request based on the info available in the request header to any webapplication or EAR deployed in the application server.
    I do not want to implement as a Servlet filter in a webapp. which is intrusive to the webapp.
    as we are aware, Servlet Filters can be attached to resources in a Web application and are configured in the web.xml file.
    I have tried out my requirements in Tomcat as follows, it works:
    In Tomcat, Valves are attached to a Tomcat container and are configured using a <Valve> element in the server.xml file.
    We have modified RequestDumperValve Filter ( source available) class extending Valve to intercept Http requests.
    I perform whatever i want to do in this custom Filter and then able to forward to the next valve in the valve chain of Tomcat container. I have Configured this valve in server.xml and it works fine.
    My queries are:
    1. Can i do it the same thing in SunONe application server or other IBM Websphere application server ?
    2. Do the commercial appservers expose their APIs ( e.g. like Valve in Tomcat ) such that i can implement an application server plugin ?
    i.e. Are there any such Filter classes available which will intercept the Http request processing pipleine
    in application server ( precisely, its web container )
    If so, can you pls provide pointers for SunONE application server and IBM Webpshere application server
    3. Is this against J2ee specs ?
    Appreciate if you can provide me any clues, tips, solutions, pointers regarding this problem.
    thanks and regards
    rajesh

    Thanks for the info, vbk.
    Actually we are looking filers not at the servlet level in a web application.
    We are looking ways for the filter to work at web container level across different web applications... That is whatever comes to the application server, should hit at this filter ,then we perform some processing, analysis and then continue for the correspnding web application
    thanks
    rajesh

  • About the read from http request, I think it is a bug in weblogic

    Hi guys,
    sorry for the previous post, I press the wrong button, I didn't finished yet.
    I have experienced a problem when I try to read from http request in a web application.
    the following is my code:
    InputStreamReader isr = new InputStreamReader(new URL("www.myhost.com").openStream(),"8859_1");
    BufferedReader bfr = new BufferedReader(isr);
    String request = "";
    while((request = bfr.readLine()) != null)
    stringGotFromServer += request;
    the problem is it always hang in there when BufferdReader reach the end.
    but in java specification, BufferedReader should reture null if reaching the
    end.
    Does anyone have any good idea for that?
    Thanks in advance.

    Hi,
    I think if you follow the instructions as given in the example you will not have any problems.
    here are the instructions below
    "This example code demonstrates one technique of handling test failures.
    If this step fails, a dialog will be displayed giving options to Break, Terminate, or Retry.
    The On Fail Post Action calls the HandleTestFailure sequence which is
    another sequence in this sequence file.
    The sequence file has the SequenceFilePreStep Callback overridden where
    the initial statue of Runstate.SequenceFailed is stored in a local variable. Create a local variable in your sequence called SequenceAlreadyFailed which is a boolen.
    To use this in your sequence file:
    1. Copy the HandleTestFailure sequence to your sequence file.
    2. For a step to use this, you
    must set the On Fail Post Action to call the
    HandleTestFailure sequence.
    3. Override the PreStepCallback.
    4. Copy the step from this example's PreStepCallback to yours.
    5. Copy the TestFailureDialog.* files to the same directory as your sequence file.

  • Setting the header in http request object

    I am facing a problem while trying to test a particular flow of my application.The details are given below:
    The controller servlet of my main application reads the header "Referer" from the request object and then based on this it forwards the request to appropriate servlets.For testing my application I am writing a test servlet which receives a request object from a test jsp and sets all the necessary attributes in the request object and passes this request object to the doGet () method of the main application's controller servlet. But while trying with this I find that the main controller fails to forward to the correct servlet because it receives incorrect referer information. So my question is how can I set my customised "Referer" in the header of the http request so that the application's controller servlet forwards to the correct servlet?Is there any means to set the request header in servlet or jsp?

    As far as I know you can't change the request in a servlet or .jsp, but you can in a Filter. Wrap the original request object in a wrapper class before passing it to chain.doFilter().

  • How best to make a transaction span multiple HTTP requests?

    Hi, all. What is the best way to implement a transaction that spans multiple
    HTTP requests? Many J2EE applications must solve this problem, but I can't
    any guidelines for an implementation.
    Consider an application that implements a multi-step wizard. Each step
    gathers data from the user; step one gets the user's name, and step two gets
    his dog's name. When the user completes the wizard, the application saves
    the user & dog in two entity beans. Conceptually, the application treats
    this wizard like a single, long-running transaction. The transaction begins
    when the user launches the wizard. Submitting the JSP for step one adds the
    Boy bean to the transaction, and submitting step two adds the Dog bean.
    Finishing the wizard commits the transaction. Exiting the wizard or timing
    out causes the transaction to rollback.
    Although the wizard looks like a transaction, the entire sequence of user
    interactions can't be captured in a single JTA UserTransaction. A
    UserTransaction must be associated with a single thread, but each wizard
    step is handled asynchronously by its own execution thread. It's impossible
    to funnel the conversation through one thread that can demarcate the
    transaction. (This would be a pretty dumb solution for other reasons, but I
    don't want to get lost in details.)
    I think the standard way to solve this problem is to store conversation
    state in a stateful session bean (or the http session) and create / update
    both entity beans in a transactional EJB method after the wizard completes.
    Unfortunately, this solution prevents me from leveraging a lot of great
    transaction management features provided by the app server. For example, I
    can't use optimistic concurrency to make sure that the dog object hasn't
    changed in the database between the start and end of the wizard. Also, I'm
    forced to keep track of changes to the dog object in the conversation state,
    then replicate these changes to an entity bean at the end of the wizard.
    Keeping track of state in a stateful bean is pretty straightforward, but it
    seems like there must be an existing solution that leverages the appserver's
    concurrency and state management features. Am I missing something? Is there
    code, a pattern, or an article that describes the best way to implement a
    multi-step process that looks transactional? I suppose WLI does what I want,
    but that feels like killing a roach with a SCUD missle. Thanks for any
    advice.
    Dave

    Dave Smith wrote:
    Without a transaction, will the app server manage the version column
    automatically, assuming of course that <concurrency-strategy> is
    "Optimistic" and <verify-columns> is set to "Version"? Of course, I'll have
    to expose the version as a cmp-field, which is fine with me.Yes
    >
    Do you know offhand, so that I don't have to get off my lazy ass and write a
    test, whether the CMP service will create the version column when it
    generates db tables? (I realize it's not good to let WLS generate the tables
    in a production system.)No, I don't think it does.
    >
    I assume from your answer that I'm on my own for implementing stuff like and
    transaction inheritance and tracking object modifications? Well, we'll give you a bit of help on the object modifications. The
    usual pattern is when you're pushing the JavaBean back to the CMP you
    call all the setXXX methods on the CMP bean. Our CMP container will
    check if the value you are setting is the same as read from the db. If
    so, it will not update that column.
    -- Rob
    If so, no big
    deal. I was just hoping somebody would say, "Oh, you want the Jakarta
    SuperBeans project" or something.
    Thanks,
    Dave
    "Rob Woollen" <[email protected]> wrote in message
    news:[email protected]...
    I'd recommend that you include a separate version or timestamp column in
    your db schema.
    Then do something like this:
    Client Server
    1) First HTTP Request
    2) Read current Dog and Boy Entity Beans
    (if any) and copy their values into a JavaBean.
    You want to include the version
    column(s) in the JavaBean(s) along with the data values.
    You probably also want to store the JavaBeans in
    your HTTP Session.
    3) Client proceeds through wizard interacting with JavaBeans
    4) Finish with Wizard, copy JavaBean values (including
    version columns) to CMP 2.0 Entity Beans.
    The version column will give you the optimistic concurrency protection
    that you desire without opening a JTA transaction to span user input.
    -- Rob
    Dave Smith wrote:
    Hi, all. What is the best way to implement a transaction that spans
    multiple
    HTTP requests? Many J2EE applications must solve this problem, but Ican't
    any guidelines for an implementation.
    Consider an application that implements a multi-step wizard. Each step
    gathers data from the user; step one gets the user's name, and step twogets
    his dog's name. When the user completes the wizard, the applicationsaves
    the user & dog in two entity beans. Conceptually, the application treats
    this wizard like a single, long-running transaction. The transactionbegins
    when the user launches the wizard. Submitting the JSP for step one addsthe
    Boy bean to the transaction, and submitting step two adds the Dog bean.
    Finishing the wizard commits the transaction. Exiting the wizard ortiming
    out causes the transaction to rollback.
    Although the wizard looks like a transaction, the entire sequence ofuser
    interactions can't be captured in a single JTA UserTransaction. A
    UserTransaction must be associated with a single thread, but each wizard
    step is handled asynchronously by its own execution thread. It'simpossible
    to funnel the conversation through one thread that can demarcate the
    transaction. (This would be a pretty dumb solution for other reasons,but I
    don't want to get lost in details.)
    I think the standard way to solve this problem is to store conversation
    state in a stateful session bean (or the http session) and create /update
    both entity beans in a transactional EJB method after the wizardcompletes.
    Unfortunately, this solution prevents me from leveraging a lot of great
    transaction management features provided by the app server. For example,I
    can't use optimistic concurrency to make sure that the dog object hasn't
    changed in the database between the start and end of the wizard. Also,I'm
    forced to keep track of changes to the dog object in the conversationstate,
    then replicate these changes to an entity bean at the end of the wizard.
    Keeping track of state in a stateful bean is pretty straightforward, butit
    seems like there must be an existing solution that leverages theappserver's
    concurrency and state management features. Am I missing something? Isthere
    code, a pattern, or an article that describes the best way to implementa
    multi-step process that looks transactional? I suppose WLI does what Iwant,
    but that feels like killing a roach with a SCUD missle. Thanks for any
    advice.
    Dave

  • Setting the system property in java application

    Hi,
    I want to make a connection to https://URL through my java application class
    which will be deployed in the weblogic server. Could any one help by
    telling how could I set the system properties in my java application. If I
    pass the value in the java class do I have to change any value in the
    weblogic.properties file.
    Thanks in advance and looking forward to hear your valuable suggestion.
    Sirisha

    System.getProperty(..)
    System.setProperty(..) is this what you are asking for?
    This gets and sets the system (your machine) environment properties
    Filip
    In article <396d0a93$[email protected]>, [email protected] says...
    >
    Hi,
    I want to make a connection to https://URL through my java application class
    which will be deployed in the weblogic server. Could any one help by
    telling how could I set the system properties in my java application. If I
    pass the value in the java class do I have to change any value in the
    weblogic.properties file.
    Thanks in advance and looking forward to hear your valuable suggestion.
    Sirisha
    Filip Hanik
    Software Architect
    XMarkstheSpot.com
    [email protected]

  • How to intercept Http requests by writing an App Server plugin?

    Hi all,
    My requirement of "Application Server plugin/filter" is to intercept all Httprequests coming to an
    Application Server instance (and not webserver), get the related information from the request, do whatever
    i want to do and then forward the request based on the info available in the request header to any
    webapplication or EAR deployed in the application server.
    I do not want to implement as a Servlet filter in a webapp. which is intrusive to the webapp.
    as we are aware, Servlet Filters can be attached to resources in a Web application and are configured in the
    web.xml file.
    I have tried out my requirements in Tomcat as follows, it works:
    In Tomcat, Valves are attached to a Tomcat container and are configured using a <Valve> element in the
    server.xml file.
    We have modified RequestDumperValve Filter ( source available) class extending Valve to intercept Http
    requests.
    I perform whatever i want to do in this custom Filter and then able to forward to the next valve in the valve
    chain of Tomcat container. I have Configured this valve in server.xml and it works fine.
    My queries are:
    1. Can i do it the same thing in WebLogic application server or other IBM Websphere application server ?
    2. Do the commercial appservers expose their APIs ( e.g. like Valve or Filter in Tomcat ) such that i can
    implement an application server plugin ?
    i.e. Are there any such Filter classes available which will intercept the Http request processing pipleine
    in application server ( precisely, its web container )
    If so, can you pls provide pointers for WebLogic application server and IBM Webpshere application server
    3. Is this against J2ee specs ?
    Appreciate if you can provide me any clues, tips, solutions, pointers regarding this problem.
    thanks and regards
    rajesh

    Try proxyHandler property and implement a custom ProxyHandler.
    ex:
    <property name="authPassthroughEnabled" value="true"/>
    <property name="proxyHandler" value="com.sun.enterprise.web.ProxyHandlerImpl"/>
    null

  • How to send a HTTP request to servlet in java application

    I'm new in Java. I need to send a HTTP request with parameters to servlet in a java aplication. Here is my code. It can be compiled but always threw an exceptions when I ran it. Can anyone help?
    package coreservlets;
    import java.io.*;
    import java.net.*;
    public class PostHTTP
         public static void main(String args[])
              throws IOException, UnknownHostException {
              try
              // URL and servlet
                   URL myURL = new URL("http://pc076/servlet/coreservlets.OffHold");
                   URLConnection c = myURL.openConnection();
                   c.setUseCaches(false);
                   c.setDoOutput(true);
                   ByteArrayOutputStream byteStream = new ByteArrayOutputStream(512);
                   PrintWriter out = new PrintWriter(byteStream, true);
    //parameters
                   String postData = "REASON_CODE=3B&RSPCODE=JSmith&CASENUM=NA795401&REPLY=123&SOURCE=XYZ&REPLYLINK=http://pc076/servlet/coreservlets.ShowParameters";
                   out.print(postData);
                   out.flush();
                   String lengthString = String.valueOf(byteStream.size());
                   c.setRequestProperty("Content-Length", lengthString);
                   c.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                   byteStream.writeTo(c.getOutputStream());
                   BufferedReader in =     new BufferedReader(new InputStreamReader
                                                 (c.getInputStream()));
                   String line;
                   //String linefeed = "\n";
                   //resultsArea.setText("");
                   while((line = in.readLine()) != null) {
                        System.out.println(line);
                        //resultsArea.append(linefeed);
              catch(IOException ioe) {
              // Print debug info in Java Console
              System.out.println("IOException: " + ioe);

    here are some updates to your code I haven't tested it running
    post again if you still have trouble
    URL myURL = new URL("http://pc076/servlet/coreservlets.OffHold");
    HttpURLConnection c = (HttpURLConnection)myURL.openConnection();
    c.setDoInput(true);
    c.setDoOutput(true);
    ByteArrayOutputStream byteStream = new ByteArrayOutputStream(512);
    String lengthString = String.valueOf(byteStream.size());
    c.setRequestProperty("Content-Length", lengthString);
    c.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    PrintWriter out = new PrintWriter(byteStream, true);
    //parameters
    String postData = "REASON_CODE=3B&RSPCODE=JSmith&CASENUM=NA795401&REPLY=123&SOURCE=XYZ&REPLYLINK=http://pc076/servlet/coreservlets.ShowParameters";
    out.print(postData);
    out.flush();
    byteStream.writeTo(c.getOutputStream());
    // connect
    c.connect();
    BufferedReader in = new BufferedReader(new InputStreamReader
    (c.getInputStream()));
    String line;
    while((line = in.readLine()) != null)
        System.out.println(line);

  • How to pass a HTTP request from a simple java class

    Is it possible to pass an HTTP request from a simple java class.if yes how?

    Is it possible to pass an HTTP request from a simple
    java class.if yes how?If you're talking about creating a HttpRequest object and passing it to a servlet, that would be a red flag to me that your design is flawed. You shouldn't have to do that - the application server (Tomcat, Weblogic, etc) should be the only thing that has to worry about creating that kind of object and passing it to you.

  • How to send a http request to a non java appln

    I have one legacy web application running which can handle only http request . So I need to connect (using http request) and send my request and get the response, without opening that application in browser.
    Any idea
    1) How to connect to non - java appln from a java appln ?
    2) How to use the Httprequest without displaying the page using browser?

    You can try one of three routes:
    Open a socket and write the HTTP request and parse the HTTP response yourself
    Use java.net.URLConnection
    Use Jakarta Common's HttpClient at jakarta.apache.org- Saish

  • Send short message from Java application on mobile phone to server; http

    Hello!
    My question is: can I send short message from Java application on mobile phone to server - with the use of SMS (WMA) or http connection?
    I found this topic http://forums.sun.com/thread.jspa?threadID=5405431 about: "how to send data from midlet to servlet using doPost method".
    There is also such topic http://forums.sun.com/thread.jspa?threadID=5408046&tstart=0 about: "CLDC and MIDP - sending SMS to server -> Wireless Messaging API (WMA)".
    Please, kindly help me.
    Code from the topic mentioned above, edited by me so that it can be read easily:
    //http://forums.sun.com/thread.jspa?threadID=5405431
    //CLDC and MIDP - Re: how to send data from midlet to servlet using doPost method
    I want to know how to pass the values .
    for examples : this is what i wrote for doGet
    String url = setting.getUrl().toString()"/testProServlet/servlet/UpdateCompanyProfile?userId="+loggedInUserId"&svComp="saveCompHex;
    userId and svComp has the data which is very long so i wanted to use doPost.
    Now i dont know how to do it.
    This is what i have done in doGet (midlet)
    public void saveCompanyProfile(String saveComp,int flag,String blankFieldNm)
         System.out.println("flag===" flag);
         if (flag==1)
              displayAlert("Company Profile Edit",blankFieldNm+" field cannot be blank.",AlertType.ERROR, edCmpRecForm, true);
         else
              String saveCompHex = helper.encodeHexString(saveComp);
              // String saveCompHex =saveComp;
              HttpConnection httpConn = null;
              serverSettings setting = new serverSettings();
              System.out.println("saveCompHex===" saveCompHex);
              String url = setting.getUrl().toString()"/testProServlet/servlet/UpdateCompanyProfile?userId="loggedInUserId"&svComp="saveCompHex;
              System.out.println("url of save company profile:: "+url);
              InputStream is = null;
              OutputStream os = null;
              try {
                   // Open an HTTP Connection object
                   httpConn = (HttpConnection) Connector.open(url);
                   System.out.println("urlMidlet1 save edited company data===::" url.length());
                   // Setup HTTP Request
                   httpConn.setRequestMethod(HttpConnection.POST);
                   httpConn.setRequestProperty("User-Agent","Profile/MIDP-1.0 Confirguration/CLDC-1.0");
                   System.out.println("urlMidlet2===" url);
                   int respCode = httpConn.getResponseCode();
                   System.out.println("respCode edit company profile=====" respCode);
                   if (respCode == httpConn.HTTP_OK)
                        StringBuffer sb = new StringBuffer();
                        os = httpConn.openOutputStream();
                        is = httpConn.openDataInputStream();
                        int chr;
                        while ((chr = is.read()) != -1)
                             sb.append((char) chr);
                        String sResultSvCompanyProfile= sb.toString();
                        System.out.println("+++++++++++++Company sResult+++++++++++++==="sResultSvCompanyProfile);
                        if (resultViewCompanyProfile.trim().equals(""))
                             System.out.println("++++++++++++++If++++++++++++++SaveCompanyProfile===");
                             displayAlert("Login Incorrect","Username and Password incorrect", AlertType.ERROR, mainForm, true);
                        else
                             System.out.println("++++++++++++++Else++++++++++++++SaveCompanyProfile===");
                             //companyProfile();
                             displayAlert1("Information","Company Profile edited successfully", AlertType.INFO, profileMenuScreen, true);
                   else
                        System.out.println("Error in opening HTTP Connection. Error#" respCode);
                        //the line below divided into two lines because it was too long
                        displayAlert("Connection Failed","Cannot connect to server, please contact the Administrator.",
                        AlertType.ERROR, mainForm, false);
              catch(IOException e)
                   e.getMessage();
              finally {
                   if(is!= null)
                        try
                             is.close();
                        catch (IOException e)
                             // TODO Auto-generated catch block
                             e.printStackTrace();
                             displayAlert("Connection Failed","Cannot connect to server, please contact the Administrator.",
                             AlertType.ERROR, mainForm, false);
                   if(os != null)
                        try
                             os.close();
                        catch (IOException e)
                             // TODO Auto-generated catch block
                             e.printStackTrace();
                             displayAlert("Connection Failed","Cannot connect to server, please contact the Administrator.",
                             AlertType.ERROR, mainForm, false);
                   if(httpConn != null)
                        try
                             httpConn.close();
                        catch (IOException e)
                             // TODO Auto-generated catch block
                             e.printStackTrace();
                             displayAlert("Connection Failed","Cannot connect to server, please contact the Administrator.",
                             AlertType.ERROR, mainForm, false);
              } //end finally
         } //end else (?)
    } //end savecompany

    hi,
    SMS API(WMA) is an optional package. It is not a MIDP1.0 or MIDP2.0 api's.
    There are phones which has WMA api with MIDP1.0 support .... Nokia 3650
    Seimens has some phone with their own api's to send sms.Check out seimens site for more info
    BTW, What do you mean buy sending SMS to Server????
    If you want to send message to server you can do it with Http.
    HTH
    phani

  • Cannot process an HTTP request to servlet [DialogServlet] in [manufacturing] web application.

    Hi all,
    Now I can't open any new search help that use with the dialogservlet .
    And the log have the following error message :
    500 Internal Server Error is returned for HTTP request
    [http://xxxx:xxxxxx/manufacturing/com/sap/me/system/common/client/ErrorPage.jsp]:
      component [DialogServlet],
      web module [manufacturing],
    application [sap.com/me~ear],
      DC name [sap.com/me~ear],
      CSN
    component[],
      problem categorization [com.sap.ASJ.web.000137],
    internal categorization [254340799].
    [EXCEPTION]
    java.lang.NullPointerException: while trying to invoke
    the method java.lang.Throwable.printStackTrace(java.io.PrintWriter) of an object
    loaded from local variable 'e'
    at
    com.sap.me.frame.Utils.getStackTrace(Utils.java:764)
    at
    JEE_jsp_com_sap_me_system_common_client_ErrorPage_1410450_1404183172000_1404185122991._jspService(JEE_jsp_com_sap_me_system_common_client_ErrorPage_1410450_1404183172000_1404185122991.java:137)
    at
    com.sap.engine.services.servlets_jsp.lib.jspruntime.JspBase.service(JspBase.java:102)
    at
    com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
    at
    com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:428)
    at
    com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:147)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at
    com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
    at
    com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doCached(RequestDispatcherImpl.java:655)
    at
    com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:488)
    at
    com.vatti.mes.common.web.BaseServlet.doError(BaseServlet.java:61)
    at
    com.vatti.mes.common.dialog.web.DialogServlet.doPost(DialogServlet.java:125)
    at
    com.vatti.mes.common.dialog.web.DialogServlet.doGet(DialogServlet.java:53)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
    at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at
    com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
    at
    com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)
    at
    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:457)
    at
    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
    at
    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
    at
    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
    at
    com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    at
    com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
    at
    com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
    at
    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
    at
    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
    at
    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
    at
    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
    at
    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
    com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
    at
    com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
    at
    com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    at
    com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at
    com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at
    com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)

    Hi Ivan!
    The fact the this code worked fine yesterday or is working fine in Dev but not in another system proves nothing. On the contrary, the stack trace confirms that the problem stems from your custom code com.vatti.mes.common.web.BaseServlet.doError(BaseServlet.java:61). The obvious thing is that the method here is called "doError" that likely means you either face some error there or intentionally generate error message. After that the system tries to log the error message but it looks as if com.sap.me.frame.Utils.getStackTrace method gets null as an input parameter e. How does it get triggered and what is passed into - this is a question to your developers.
    Regards,
    Sergiy

  • Cannot process an HTTP request to servlet [Faces Servlet] in [wcb] web application

    Hi All
    l am working on a Wcem 3.0 with Trex with ERP and WAS 7.3.
    When I logon to http://<host>:<port>/wcb/index.html url I am able to see wcbuilder_erp & wcbuilder_erp_ume application ids.
    But suddenly I am getting The website cannot display the page error message when I access the above mentioned URL.
    When I verify the developer log trace it showing as 500 Internal sever error issue.[EXCEPTION] java.lang.VerifyError: Bad return type
    In defaultTrace.trc file it is showing as Cannot process an HTTP request to servlet [Faces Servlet] in [wcb] web application exception.
    09 10 18:08:56:098#+0530#Error#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#
    com.sap.ASJ.web.000137#WEC-APP-BF#sap.com/wec~comm~wcb~leanapp#C0000A229CA7094A0000000000001188#2392750000000004#sap.com/wec~comm~wcb~leanapp#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#Guest#0##CFAFBF4C38E411E4B4750000002482AE#ffbcbcdd38e611e49d020000002482ae#ffbcbcdd38e611e49d020000002482ae#0#Thread[HTTP Worker [@455349581],5,Dedicated_Application_Thread]#Plain##
    Cannot process an HTTP request to servlet [Faces Servlet] in [wcb] web application.
    [EXCEPTION] java.lang.VerifyError: Bad return type
    Exception Details:
    Location: com/sap/wec/tc/core/runtime/jsf/resource/WecExternalContextFactory.getExternalContext(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljavax/faces/context/ExternalContext; @17: areturn
    Reason: Type 'com/sap/wec/tc/core/runtime/jsf/resource/WecExternalContext' (current frame, stack[0]) is not assignable to 'javax/faces/context/ExternalContext' (from method signature)
    Current Frame:
        locals: { 'com/sap/wec/tc/core/runtime/jsf/resource/WecExternalContextFactory', 'java/lang/Object', 'java/lang/Object', 'java/lang/Object' }
        stack: { 'com/sap/wec/tc/core/runtime/jsf/resource/WecExternalContext' }
      Bytecode:
        0000000: bb00 0359 2ab6 0004 2b2c 2db6 0005 b700
        0000010: 06b0                                
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2446)
        at java.lang.Class.getConstructor0(Class.java:2756)
        at java.lang.Class.getConstructor(Class.java:1693)
    Any help?
    Regards
    Rami Reddy

    Hi Steffen,
    Thanks for promt response.
    But when I checked with Basis team as of now there are not yet configured TREX, only WCEM components has been configured in WAS 7.3. When they are configuring WCEM components HTTPS protocol not configured.
    But for past 2 weeks I am able to see the below screen using http://<host>:<port>/wcb/index.html url.
    But now I am getting The website cannot display the page error.
    Please clarify me if anything is wrong from my side. And also pl let us know which configurations I have to check for fixing the issue.
    Regards,
    Rami Reddy

  • HTTP form post from Web Dynpro Java Application without opening new window

    Hi Experts,
    We are trying to submit form data to an external URL from Web Dynpro Java application. We are achieving this with the following piece of code.
      try
       strPrintContent="<html>"+
         "<head>"+
         "<script type=\"text/javascript\">"+   
         "function myfunc () "+
         "{"+
         "var frm = document.getElementById(\"paymentForm\");"+
         "frm.submit();"+
         "}"+
         "</script>"+
         "</head>"+
         "<body onLoad=myfunc()>"+
         "<form id=paymentForm  method=post action=\""+merchantURLPart+"\">"+
         "<INPUT type=hidden name=username value="+userName+">"+
         "<INPUT type=hidden name=pass value="+passWord+">"+
         "<INPUT type=hidden name=senderid value="+senderID+">"+    
         "<INPUT type=hidden name=dest_mobileno value="+mobile+">"+
         "<INPUT type=hidden name=message value='"+msg+"'>"+
         "<INPUT type=hidden name=response value="+response+">"+
         "</form>"+
         "</body>"+
         "</html>";    
      IWDWebResource webResource = WDWebResource.getWebResource(strPrintContent.getBytes(),WDWebResourceType.HTML);
      IWDWindow window = wdComponentAPI.getWindowManager().createNonModalExternalWindow(webResource.getAbsoluteURL(),"WBSEDCL");
      window.show();
      catch(Exception e)
      wdComponentAPI.getMessageManager().reportException("Error : "+e.toString(),false);
    But it opens another window. We dont need that. We have to stay on the same window.  Please suggest what can be done.

    Hi,
    You can create a HTML file with the request post parameters and the external URL something like this:
    public java.lang.String GetRedirecturl( )
    // External URL
    String html = "<html><head></head><body onload=\"load()\"> " +
    "<form id=\"form1\" action=\"https://www.abc.com/xyz.jsp\" method=\"POST\">" +
    // Post Parameters
    "<INPUT TYPE=\"HIDDEN\" NAME=\"Param1\"VALUE=\""+Param1Value+"\">"+
    "<input name=\"sap-wd-resumeurl\" type=\"hidden\"/>" +
    "</form> " +
    "" +
    "<script>" +
    "function load(){" +
    "var loc = window.location.search.substring(1);" +
    "var queryString = loc.split(\"sap-wd-resumeurl=\");" +
    "if(queryString.length > 0)" +
    "{" +
    "var resumeURL = queryString[1].split(\"&\");" +
    "if(resumeURL.length >= 0)" +
    "{" +
    " document.forms['form1'].elements['sap-wd-resumeurl'].value= unescape(resumeURL[0])" +
    "}" +
    "}" +
    "document.getElementById('form1').submit();" +
    "}" +
    "</script>" +
    "</body> </html>";
    String redirectUrl = "";
    byte[] byteArrayHtmlData = null;
    try {
      byteArrayHtmlData = html.getBytes("UTF-8");
    } catch (UnsupportedEncodingException e) {
      wdComponentAPI.getMessageManager().reportException("Internal error occurred. Please try after some time",true);
    IWDResource htmlResource = WDResourceFactory.createCachedResource(new ByteArrayInputStream(byteArrayHtmlData), "Redirect.html", WDWebResourceType.HTML, true);
    redirectUrl = htmlResource.getUrl(WDFileDownloadBehaviour.AUTO.ordinal());
    return redirectUrl;
    Hope this will be helpful.
    Regards,
    Anurag

Maybe you are looking for