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
rajeshThanks 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.
DaveDave 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.
SirishaSystem.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
rajeshTry 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 savecompanyhi,
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 -
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 -
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 ReddyHi 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
-
Error while doing a mass change in info record
Dera Experts , We are getting the following error while settin g the complete deletion indicator for a purchase info record through t code MEMASSIN. Communication block for info record incompletely transferred Message no. 06327 Diagnosis Internal err
-
At end of tether! Reading in variables from a text file
Hi all My stress factor has gone through the roof because I am trying to read in from a text file (you may have seen some earlir questions about ArrayLists) it's just not working! The code is below. The result is that it's reading in all of the car d
-
how can i start face time on my i phohne 4s which i bought from uk and i am living in india
-
when installing oracle application express 4.2.1 on Windows 7 i am getting the following error when i executed the @apexins.sql as below i got the error. hope somebody will help me @apexins.sql SYSAUX SYSAUX TEMP /i/ create user APEX_040200 identifie
-
Major problems with BT infinity and now no service...
Hi all, I've been a BT customer for a while. I moved from Virgin Media and found BT to be fantastic. It was fast, reliable, decently priced and I was very satisifed as a customer. I used to recommend them to everyone. Sadly I am currently experiencin