Servlet Post Request
hi,
Any body tell me how much data i can send through post. can i send 1 GB, 10GB of data or is ther any limit.
Thanks
From the HTTP 1.1 Spec:The HTTP protocol does not place any a priori limit on the length of
a URI. Servers MUST be able to handle the URI of any resource they
serve, and SHOULD be able to handle URIs of unbounded length if they
provide GET-based forms that could generate such URIs. A server
SHOULD return 414 (Request-URI Too Long) status if a URI is longer
than the server can handle (see section 10.4.15).
MeTitus
Similar Messages
-
Hi all,
I encountered the following 2 servlet problems in WLS 6.0/ 6.1:
1. Processing concurrent POST requests
WLS seems to disallow concurrent executions of any servlet's doPost servlet method.
When two clients attempt to send a request to a servlet using POST, the socond
one
is blocked until the first customer is served. In essence, the servlet ends up
operating in
1-user mode. I just learned from Jervis Liu that the problem is solved in WLS6.0
if you disable http-keepalive.
For WLS 6.1 a partial workaround is to make the servlet work in a single-thread
mode (by implementing the javax.servlet.SingleThreadModel interface). In this
case,
WLS dispatches concurrent requests to different instances of the servlet.
This doesn't completely eliminate the problem - still only one customer can be
connected at a time. The improvement is that once the first customer is disconnects,
the second can be served even if the doPost method for the first has not finished
yet.
2. Flushing the response buffer in WLS 6.1
The servlet response buffer is not flushed automatically until doPost ends, unless
you
explicitly call response.flushBuffer(). Closing the output stream doesn't flush
the
buffer as per the documentation.
I see that other people are experiencing the same problems.
Has anyone found any solutions/workarounds or at least an explanation.
Any input would be highly appreciated.
Thanks in advance.
Samuel Kounev
Thanks for replying. Here my answers:
> Did you mark your doPost as synchronized?
No.
> Also, try testing w/ native i/o vs not ... is there a difference?
With native I/O turned off I get a little lower performance, but the
difference is not too big.
Best,
Samuel Kounev
> Peace,
>
> --
> Cameron Purdy
> Tangosol Inc.
> << Tangosol Server: How Weblogic applications are customized >>
> << Download now from http://www.tangosol.com/download.jsp >>
>
> "Samuel Kounev" <[email protected]> wrote in message
> news:[email protected]...
> >
> > Hi all,
> >
> > I encountered the following 2 servlet problems in WLS 6.0/ 6.1:
> >
> > 1. Processing concurrent POST requests
> >
> > WLS seems to disallow concurrent executions of any servlet's doPost
> servlet method.
> >
> > When two clients attempt to send a request to a servlet using POST, the
> socond
> > one
> > is blocked until the first customer is served. In essence, the servlet
> ends up
> > operating in
> > 1-user mode. I just learned from Jervis Liu that the problem is solved in
> WLS6.0
> >
> > if you disable http-keepalive.
> >
> > For WLS 6.1 a partial workaround is to make the servlet work in a
> single-thread
> >
> > mode (by implementing the javax.servlet.SingleThreadModel interface). In
> this
> > case,
> > WLS dispatches concurrent requests to different instances of the servlet.
> > This doesn't completely eliminate the problem - still only one customer
> can be
> >
> > connected at a time. The improvement is that once the first customer is
> disconnects,
> > the second can be served even if the doPost method for the first has not
> finished
> > yet.
> >
> > 2. Flushing the response buffer in WLS 6.1
> > The servlet response buffer is not flushed automatically until doPost
> ends, unless
> > you
> > explicitly call response.flushBuffer(). Closing the output stream doesn't
> flush
> > the
> > buffer as per the documentation.
> >
> > I see that other people are experiencing the same problems.
> >
> > Has anyone found any solutions/workarounds or at least an explanation.
> > Any input would be highly appreciated.
> >
> > Thanks in advance.
> >
> > Samuel Kounev
=====================================================
Samuel D. Kounev
Darmstadt University of Technology
Department of Computer Science
DVS1 - Databases & Distributed Systems Group
Tel: +49 (6151) 16-6231
Fax: +49 (6151) 16-6229
E-mail: mailto:[email protected]
http://www.dvs1.informatik.tu-darmstadt.de
http://skounev.cjb.net
=====================================================
[att1.html]
-
Multiple post requests using a single HttpConnection
Hi,
is it possible to send multiple post requests using a single Http connection.
i am currently trying to simulate the preformance overhead because of creating HttpURLConnection to talk to my servlet. But, that made me wonder, if is there a way to send multiple post requests using a single HttpURLConnection.
can anyone help me with this.
thanks in advanceHi
I found this article through Google. I hope it helps a little
http://www.developer.com/tech/article.php/761521
D -
Retrieve data/files fro HTTP POST request in On-Demand process
Hello,
I would like to integrate https://github.com/blueimp/jQuery-File-Upload to my APEX 4.2 application inside XE11g. I would like to use this kind of jQuery component, multiple file upload, use Drag & Drop, image resize, size limit, filter extensions etc...
This jQuery component and also others javascript uploaders sends data files to some defined URL. Developer need to build some servlet, php script or something on server side that will read files from HTTP request and stores it somewhere.
Do you know how to do it in APEX? How can I read data from HTTP POST request in PL/SQL? Now I can only call my On-Demand application process from javascript, but I am not able to read any data from HTTP POST in it.
Can I do it in APEX, or using MOD_PLSQL?
I would like to implement this:
1) some javascript uploader will call some URL of my application and sends HTTP POST with data files
2) I will read data files from HTTP POST and store them into database
3) I will create some HTTP response for javascript uploader
Thank you for some tipsI know about that existing plugin " Item Plugin - Multiple File Upload"
But I doesn't work in IE and has only basic features. Licence for commercial use is also needed. I would like to use some existing jQuery plugin. There are many of these plugins with nice features. And only one problem is that I need to create some server side process/servlet/script.. that can recieve HTTP request, get files from it and stores them into DB. -
Greetings everybody,
For this particular question I am not getting any help from the Java forums and Google.
Not very long ago I had to send a stream of bytes from an applet to a servlet (the applet and its helper classes are packed inside a signed jar file), but I used to fail miserably at every step.
I tried every trick in the book (for me the books were Google and Java forums!!). I set the servlet's path in the Windows CLASSPATH, I tried to call the applet from within a servlet- of course after placing the applet file in the servlets folder- (in the hope that since the applet was in the same location as the servlets the URL would get established) e.t.c but still URL url=new URL(<servlet URL>) refused to invoke the servlet.
Finally somehow I managed to get it done using the code below:
public class Xyz extends Applet
//DONT BE SURPRISED RIGHT NOW!!
Class cls=this.getClass();
ClassLoader cldr=cls.getClassLoader();
//THE ACTUAL SERVLET CONNECTING CODE
URL url=cldr.getResource("http://localhost:8000/servlet/<SomeServlet>");
/*This statement does not work........ URL url=new URL("http://localhost:8000/servlet/<SomeServlet>").A NULL URL OBJECT GETS CREATED!! */
HttpURLConnection hurlc=(HttpURLConnection)url.getConnection();
//ALL THE NECESSARY FORMALITIES TO BE PERFORMED TO WRITE THE STREAM TO THE SERVLET
hurlc.setDoInput(false);
hurlc.setDoOutput(true);
hurlc.setUseCaches(false);
hurlc.setRequestMethod("POST");
OutputStream os=hurlc.getOutputStream();
//WRITING THE STREAM
os.write(<some byte buffer>);
//NOW COMES THE TRICKY PART
hurlc.getResponseCode();
I had to do getResponseCode() because once ClassLoader.getResource(<servlet URL>) invoked the servlet using the GET method I COULD NOT INVOKE THE SERVLET AGAIN. I had to force an invokation using getResponseCode().
Well all is well now excepting for a small irritant. Instead of issuing one POST request the URLConnection is issuing multiple POST requests. In the Apache logs I get to see something like:
GET /snodx/callapplet.htm 200 116
GET /snodx/keystore_for_holding_fingerprint_for_trusted_applet 200 234
GET /snodx/applet_and_helpers.jar 200 105
HEAD /servlet/<SomeServlet> 200 187
POST /servlet/<SomeServlet> 200 312
POST /servlet/<SomeServlet> 500 604
POST /servlet/<SomeServlet> 500 604
The last 2 lines indicate that the servlet was invoked but the connection closed somehow. This is confirmed by taking a look at the Apache error logs:
Premature end of script headers.
Premature end of script headers.
In the JServ servlet engine error logs I am getting:
(500)apj12 returned an error handling request
cannot scan servlet headers.
The problem is occurring somewhere in getResponseCode().This statement is invoking the servlet using the request method set (POST) several times (2 or 3 times).
Can someone explain what's going on?
This is briefly the servlet code:
public class SomeServlet extends HttpServlet
//THE SERVICE METHOD IS CALLED BY A HEAD REQUEST TO THIS SERVLET
public void service(ServletRequest reque,ServletResponse respon) throws ServletException,IOException
this.doPost((HttpServletResponse)reque,(HttpServletResponse)respon);
//GO DIRECTLY TO THE POST METHOD
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException
ServletInputStream sis=req.getInputStream();
if(sis.available()<2) //CHECK THAT THERE IS STREAM WHICH HAS AT LEAST 2 BYTES OF DATA!!
log("NO STREAM FROM APPLET");
else
//PERFORM ALL ACTIONS TO WRITE TO STREAM OF BYTES TO A LOCAL FILE
I have the servlet engine JServ 1.1.2 configured to run with Apache 1.3.19 on Windows 2000.
I compiled the Applet and the Servlet using JDK1.3 and JSDK2.0. I have JRE 1.3.1_02 installed on my Win2k machine.
Sorry for the long winded story here.
Awaiting a reply.
SNODX
(The search keywords combination getResponseCode multiple POST requests +Applet and many other related keyword combinations did not match any document in the Java forums. The search string "Multiple POST requests" "getResponseCode" and many other related search strings did not match any document in Google.I am continuing the search effort howeverinterresting the classloader solution. Well if that works, i would keep it like that so far.
But maybe this can help:
os.write(<some byte buffer>);
..and then
os.flush()//to make sure the outputstream is sent immediatly.
//i think getResponseCode() is not necsessary in that case
//but not certain, after all ...setUseCaches(false);
One thing you should do is remove the complete
service() {
...this.doPost();
the reason is that when a POST arrives at the servlet, the default service-method of the ancestor class (which is javax.servlet.Servlet) will automaticaly make a call to doPost() of the javax.servlet.http.HttpServlet subclass. You should not overide it I believe.
maybe... -try to establish an OutputStream only once in the Applet.
- receive the other end exactly once (as you did) in the doPost as an InputStream;
- eventually wrap both sides in respective Buffered(In)(Out)putStream(Reader)(Writer)
- start looping and .write() and .read() at both sides on the single and same in-and-outputStream();
(i.e avoid establishing the connection from the applet several times..., get one connection and keep it)
sorry if this story would be irrelevant,
Papyrus -
How to fire Chunked POST Requests.
Hi,
Can anyone please tell me how to implement a servlet which can fire chunked POST request to the server. I have tried implementing such a servlet but it does not send the request in a chunked format.
Please let me know what headers should this POST request necessarily have ?? (Transfer-Encoding : chunked would be one).
Thanks in advance.
SaurabhThis normally isn't my area, but I saw some code yesterday which looks like what you want...
regards,
Owen
protected void process (final HttpServletRequest req, final HttpServletResponse resp) throws ServletException,
java.io.IOException
resp.setContentType("image/svg+xml"); // This is for SVG files only
resp.setHeader("Transfer-Encoding", "chunked");
// rest of code....
} -
Incorrect MIME type for XML Data Connection POST requests
It appears that Xcelsius 2008u2019s XML Data Connection logic does not specify the correct MIME type for the data it sends to the server in its POST request. Using an HTTP debug proxy, I was able to see that Xcelsius sends XML data in the POST, but is setting a content-type of u201Cx-www-form-urlencodedu201D. According to the W3C spec:
http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
Data sent with a MIME type of u201Cxxu201D should be encoded as key?value pairs, like this:
key1=val1&key2=val2&Submit=Submit
So, what Xcelsius is doing is clearly incorrect. Worse, if your server process is a Java servlet, you may find that the POSTed data will be gobbled up by the servlet container and you wonu2019t be able to read it using a getInputStream(), or getReader() call because itu2019s already been processed by a call to the getParameter() method.
The correct mime type for POSTing an XML formatted request from Xcelsius should be "text/xml".
WayneHi,
The Error #2032 your getting is due to the Flash player security.
To remove this this error you need one crossdomain Xml file in the root directory which actually provides a lot more control over who has access to your data from a SWF. The cross domain policy is attached as crossdomain.xml.
In the XML file, it is used a wildcard (*). This allows a SWF located on any machine to access your data source. You can certainly use an IP address or domain name to restrict access rather to opening it up completely. I always start with the wildcard to make sure my dashboard works, then start restricting access as necessary.
Here is a whitepaper with everything you need to know about Flash player security:
http://www.adobe.com/devnet/flashplayer/articles/flash_player_9_security.pdf
Please let me know if you need any more clarification.
Regards,
Sanjay -
How to make to post request to WebService
Hi,
How can i invoke a http Post request to webservice url,The default test page does
not mention any thing about this when a application is deployed as a webservice,It
only talks about a soap client.
I know that when a application is deployed as web service in .net ,we can invoke
it using GET,POST or SOAP request,Is it now possible in the same way in JAVA webservices.
If it is possible to invoke using POST please refer me a sample as how to invoke
the URL.
thanks
SureshHi Suresh,
Could you write a servlet filter that would scan the first few bytes
looking for a soap header and if you have one, let it pass through and
if not, then do your old style processing. This is just a suggestion.
See: http://e-docs.bea.com/wls/docs81/webapp/filters.html
Regards,
Bruce
suresh wrote:
>
Hi,
I want to post a plain text and not one with soap headers to the webservice.
The reason i am looking for this is ,right now all my code is java servlets and
clients are making http post to my service,i am now moving this to webservice
and all the clients might not be willing to migrate to making a soap request.so
what i am looking at is that my webservice should be able to support soap request
as well as plain http post without the soap headers.
please provide u'r insights
thanks
suresh
Bruce Stephens <[email protected]> wrote:
Hi Suresh,
We have a simple tool that is helpful, the
weblogic.webservice.tools.debug.Post utility is used to read a file and
to post the message. See:
http://e-docs.bea.com/wls/docs81/webserv/trouble.html
Hope this helps,
Bruce
suresh wrote:
Hi,
How can i invoke a http Post request to webservice url,The defaulttest page does
not mention any thing about this when a application is deployed asa webservice,It
only talks about a soap client.
I know that when a application is deployed as web service in .net ,wecan invoke
it using GET,POST or SOAP request,Is it now possible in the same wayin JAVA webservices.
If it is possible to invoke using POST please refer me a sample ashow to invoke
the URL.
thanks
Suresh -
Getting weblogic.rjvm.PeerGoneException while posting request to foreign Q
Hi,
There are two application deployed on 2 different weblogic server .Say application A(EJB) is deployed on weblogic 9 and Application B (Oracle service Bus) is runing on Weblogic 10.3.
Application A sends request to a queue that is on applcation B server. Weblogic (app A) has foreign JMS server that exports the queue of app B. Configuration at Application A is :
<foreign-server name="JmsSyncServer">
<sub-deployment-name>SUBDEPLOYMENT_xyz</sub-deployment-name>
<foreign-destination name="Synchronous Request Queue">
<local-jndi-name>spain.queue.sebulasyncoutput</local-jndi-name>
<remote-jndi-name>osb.jms.queue.extern.service.request</remote-jndi-name>
</foreign-destination>
<foreign-connection-factory name="Sebula Synchronous QCF">
<local-jndi-name>spain.SebulaSyncQueueConnectionFactory</local-jndi-name>
<remote-jndi-name>osb.jms.cf.nonXA</remote-jndi-name>
</foreign-connection-factory>
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<connection-url>t3://abcd.1.com:20001,abcd.2.com::20002</connection-url>
</foreign-server>
Now this cf and queue osb.jms.cf.nonXA and osb.jms.queue.extern.service.request are implemented on application B weblogic server. No authentication is given to this implementation. As soon as application A posts request to Application B following exception is thrown in application A logs :
2010.05.21 16:31:04,919 | ERROR | SyncEaiSebulaDelegate | <null|null|U289145226331099999430000> Failed to send JMS request: properties[{ClientID=SPAIN, Operation=MsisdnDetails, message_type=sebula.sync.out, RequestTag=U289145226331099999430000}].
com.o2.spain.jms.MessagingException: Failure during JMS setup: destination[sebula_sync_output].
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:85)
at weblogic.jndi.internal.WLContextImpl.translateException(WLContextImpl.java:426)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:382)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:196)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:95)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:348)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.o2.spain.jms.ServiceLocator.lookupDestination(ServiceLocator.java:130)
at com.o2.spain.jms.ServiceLocator.getDestination(ServiceLocator.java:109)
at com.o2.spain.jms.MessageDestinationHandler.setup(MessageDestinationHandler.java:193)
at com.o2.spain.jms.MessageDestinationHandler.setupLazyAndAfterFailure(MessageDestinationHandler.java:165)
at com.o2.spain.jms.MessageDestinationHandler.getTemporaryReceiver(MessageDestinationHandler.java:543)
at com.o2.spain.jms.MessageDestination.getTemporaryReceiver(MessageDestination.java:318)
at com.o2.spain.jms.JmsClientImpl.doRequest(JmsClientImpl.java:147)
at com.o2.spain.jms.JmsClientImpl.request(JmsClientImpl.java:125)
at com.o2.spain.interfaces.sebula.sync.SyncEaiSebulaDelegate.executeRequest(SyncEaiSebulaDelegate.java:345)
at com.o2.spain.interfaces.sebula.sync.SyncEaiSebulaDelegate.getMsisdnDetails(SyncEaiSebulaDelegate.java:182)
at com.o2.spain.ejb.SynchronousEaiFacadeBean.getMsisdnDetails(SynchronousEaiFacadeBean.java:221)
at com.o2.spain.ejb.SynchronousEaiFacade_letkhg_ELOImpl.getMsisdnDetails(SynchronousEaiFacade_letkhg_ELOImpl.java:405)
at com.o2.spain.ejb.SpainWebFacadeBean.getMsisdnDetails(SpainWebFacadeBean.java:1084)
at com.o2.spain.ejb.SpainWebFacade_sesxly_ELOImpl.getMsisdnDetails(SpainWebFacade_sesxly_ELOImpl.java:1787)
at com.o2.spain.ejb.ws.SpainWebWSPortSoapBindingImpl.getMsisdnDetails(SpainWebWSPortSoapBindingImpl.java:379)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.o2.spain.ejb.ws.AxisServletFilter.doFilter(AxisServletFilter.java:29)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: com.o2.spain.jms.MessagingException: Failed looking up Destination [spain.queue.sebulasyncoutput].
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:215)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at weblogic.jndi.internal.ServerNamingNode_923_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:379)
... 58 more
Caused by: javax.naming.CommunicationException [Root exception is weblogic.rjvm.PeerGoneException: ; nested exception is:
java.io.EOFException]
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:85)
at weblogic.jndi.internal.WLContextImpl.translateException(WLContextImpl.java:426)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:382)
... 58 more
Caused by: weblogic.rjvm.PeerGoneException: ; nested exception is:
java.io.EOFException
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:215)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at weblogic.jndi.internal.ServerNamingNode_923_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:379)
... 58 more
Caused by: java.io.EOFException
at weblogic.rjvm.t3.MuxableSocketT3.endOfStream(MuxableSocketT3.java:383)
at weblogic.socket.SocketMuxer.deliverExceptionAndCleanup(SocketMuxer.java:737)
at weblogic.socket.SocketMuxer.deliverEndOfStream(SocketMuxer.java:684)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:845)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:802)
at weblogic.socket.DevPollSocketMuxer.processSockets(DevPollSocketMuxer.java:120)
at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
It will be great if someone helps in finding out the cause....waiting for reply..
thanks,
KshitijI had the exact same issue and found a solution here:
http://kr.forums.oracle.com/forums/thread.jspa?threadID=755132
"The root cause of the PGE in this instance was missing Principle classes in the remote JVM. An authenticated subject's (has our custom principles) security context is propagated to the remote JVM which throws a ClassNotFoundException, this is wrapped in the PGE." -
Building a HttpServletRequest from a posted request
Hi,
I'd like to build a HttpServletRequest object which is an "altered copy" of a user posted request to a servlet.
I mean that i get a request from an user X but i'd like to call another servlet with different parameters and this second servlet will send to response back (a web page) to the user who sended the first request.
i tried to alter the received request object and transmit it to the second servlet by using request.setAttribute() and request.removeParameter() but the request received by the second servlet seemed to be the user request.
anyone could explain that behaviour or have resolved such problem ?Is there a particular reason this functionality doesn't exist? Right now I'm duplicating this by recreating the entire url except for a single parameter that I remove, then I redirect the user to that new url. Obviously, that's a horrible way to do things when a removeParameter method on HttpServletRequest would do the job that I want it to do.
Is there a reason that no such functionality exists? -
Weblogic POST requests and foreign characters
We have Ajax post requests that work correctly in the Tomcat/Eclpse development environment. When moving them to the Weblogic environmnent, the POST requests no longer correctly send the data.
A request object is created with a URL. The foreign character string is encoded using the Javascript encodeURIComponent.
The request is sent to the servlet.
When the servletbase class starts the parameter is printed and shows ????.
On the Tomcat environment the servletbase (which extends HttpServlet) class shows the parameter as what looks like a UTF-8 string.Have you tried seeing what ServletRequest.getCharacterEncoding() returns on both Tomcat / WebLogic?
http://download.oracle.com/docs/cd/E17410_01/javaee/6/api/javax/servlet/ServletRequest.html#getCharacterEncoding() -
Page Expire - How to keep in cach from post request !!!
I have a big problem with the back button resulting in Page Expired message. The system framework is to call servlets from any page. A servlets will perform necessary computations and forward the request with additional objects to a jsp page, which will in turn construct the page and display it to a user. Some of the constracted pages have back button, which simply redirects to the previous page.
The problem that I have has been described in multiple forums before, but still appears to be not solved. When I press the back button that shall display previous page, generated by the Post request, I get Page Expired message. Note that this occurs only in IE (I am using 6.0 with SP1) and not in Mozilla (I am using 1.3). I did my homework and tried the following code in different combinations, but unsuccessful:
resp.setHeader("Cache-Control", "public");
res.setHeader("Pragma", "Cache");
res.setHeader("Expires", "Fri, 30 May 2003 12:00:00 GMT");
or directly in jsp page
<META HTTP-EQUIV="Pragma" CONTENT="cache">
<META http-equiv="expires" CONTENT=" Fri, 30 May 2003 12:00:00 GMT ">
None seems to work in IE. It appears that the IE refuses to cache the page generated by the post request at all times.
The application that I am working is huge and this is a big problem for us, we need to support IE with back buttons.
Please help.I believe this is a requirement of the HTTP
specification.Yep - section 13.10 for anyone who can't sleep. I believe the idea is that methods such as POST, PUT and DELETE cause an update at the server and so caching makes no sense - the client needs to view a new copy.
To quote the spec:
Some HTTP methods MUST cause a cache to invalidate an entity. This is either the entity referred to by the Request-URI, or by the Location or Content-Location headers (if present). These methods are:
- PUT
- DELETE
- POST -
Parsing WBXML POSt Request Data
Hi!
I want to read WBXML formatted SyncML data sent by a Mobile Device
There is a servlets at server side which receives the http request of the
device and tries to read the contents of the POST request data by using .
Request.getInputStream(); method....
I then Pass this data to a method "wbxmlToXml(req.getInputStream().toString().getBytes()) "
I am using kxml as XML parsing the Initial Lines of the method are as following
public static String wbxmlToXml(byte[] wbxml) throws IOException {
String xml = null;
try {
// Construct an InputStream on byte[] to be used by WbxmlParser
ByteArrayInputStream in = new ByteArrayInputStream(wbxml);
AbstractXmlParser parser; //org.kxml.parser.AbstractXmlParser
parser = new WbxmlParser(in);
// Construct a DOM Document to parse WBXML
Document document = new Document();
document.parse(parser);------------------> Error :java.io.IOException: id 54 undef.
I get "java.io.IOException: id 54 undef." error as mentioned above.
Please somebody guide regarding this problem
Regards,
ManeeshaThe problem is solved! The error was in the post request. At the end of the query parameter was . For spa504,
spa303,spa508 it was not important, but for spa525 important. Once I removed this parameter from the request, the phone immediately began to dial.
Thanks for the help!
That's a valid request for spa525G2:
http://192.168.2.113/CGI/Execute
POST / CGI / Execute HTTP/1.1
Host: 192.168.2.113
Accept: * / *
Content-Type: text / xml; charset = "UTF-8"
Content-Length: 92
XML = -
Parameters are corrupted in Servlet Post method Why
Arguement from Client is
"This is my Test"
But in the servlet the output is
STRING BUFFER�φ ♣t ♫This is a Test
Applet Code is
URL url =new URL("http://localhost:8080/portal/servlet/com.kbs.framework.client.gui.ReportServlet");
HttpURLConnection servletConnection = (HttpURLConnection)url.openConnection();
servletConnection.setDoInput(true);
servletConnection.setDoOutput(true);
servletConnection.setUseCaches(false);
servletConnection.setDefaultUseCaches(false);
servletConnection.setRequestMethod("POST");
servletConnection.setRequestProperty("Content-type","application/octet-stream");
servletConnection.addRequestProperty("COMMAND" ,"test");
servletConnection.setRequestProperty("COMMAND" ,"tes");
ObjectOutputStream outStream =
new ObjectOutputStream(servletConnection.getOutputStream());
System.out.println("CLIENT COMMAND" + command.trim());
outStream.writeObject("This is a Test");
outStream.flush();
outStream.close();
Servlet Post method
try
System.out.println("**********************************************");
System.out.println("COMMAND IS" + request.getParameter("COMMAND"));
InputStream requestInputStream = request.getInputStream();
System.out.println("REQUEST INPUT STREAM" + requestInputStream);
InputStreamReader isr = new InputStreamReader(requestInputStream);
System.out.println("REQUEST INPUT STREAM ReaDER" + isr);
BufferedReader br = new BufferedReader(isr);
System.out.println("BUFFERED READER" + br);
String line = "";
StringBuffer sb= new StringBuffer();
while ((line = br.readLine()) != null)
sb.append(line);
br.close();
System.out.println("STRING BUFFER" + sb.toString()); // display the input StreamMy guess is that you wrote the String "THIS IS A TEST" as a serializable object but tried to read it as character text.
ObjectOutputStream outStream =
new ObjectOutputStream(servletConnection.getOutputStream());
outStream.writeObject("This is a Test");Serializing an Object stores extra data so that the Object can re-instantiated and it is this extra data that you are seeing. -
Reading POST-Request-Parameter-Values from WebDynPro now possible?
Hello,
in the past I always was disappointed that in WebDynPro there was no way to read POST-request-parameter-values directly after the call of a WebDynPro-Application.
The only (documented) way to read / transfer request-data into an WebDynPro-application was via "URL query string parameters" in the request URL.
The last week I forgot this restriction. I called my WebDynPro-application using a POST-Request-Parameter (cookie_guid) instead of an URL-parameter.
After noticing my mistake, I was really surprised that the WebDynPro could read / shows the the POST-Request-Value.
I didn't make any changes in the coding of my WebDynPro-Application (zvis_show_sso_cookie).
After this cognition I built the following simple HTML-formular to analyse the behavior of the WebyDynPro by calling it with an URL-Parameter (cookie_guid=Url-GUID) together with the POST-Parameter (cookie_guid = Post-Value-GUID).
After calling the WebyDynPro it reads / shows the "POST-Value" of the request !!!
(Remark: If I made a simple refresh or type directly the URL "http://hg10762.vis-extranet.de:1080/sap/bc/webdynpro/sap/zvis_show_sso_cookie?sap-language=DE&cookie_guid=Url-GUID" in the browser, the same webdynpro reads / shows the URL-Parameter-Value).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<form method="post" action="http://hg10762.vis-extranet.de:1080/sap/bc/webdynpro/sap/zvis_show_sso_cookie?sap-language=DE&cookie_guid=Url-GUID">
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
<tr>
<td align="right">Cookie_GUID:</td>
<td><input name="cookie_guid" type="text" size="30" maxlength="30" value="Post-Value-GUID"></td>
</tr>
<tr>
<td>
<input type="submit" value=" Absenden ">
<input type="reset" value=" Abbrechen">
</td>
</tr>
</table>
</form>
</body>
</html>
My questions:
I there any documentation that describes the behavior of WebDynPro after calling it by using POST-Parameter values?
I believe in the past it wasn't possible to read POST-request-parameter-values in WD. Has SAP changed the functionality?
Is the behavior I described in my example above mandatory?
Regards
SteffenAs far as i know in general HTTP request GET method is standard but in SAP POST is standard. All the client request is passed as POST to the server in order to avoid the URL parameter length restriction in GET method.
Maybe you are looking for
-
Liquify as a smart object filter CS6
I understand that I should be able to use Liquify as a smart object filter in CS6 however when I get a layer rendered as a smart object and attempt to use the smart filter Liquify is greyed out. my only opiton thus far has been to stamp it down and w
-
Error while Importing ResourceObject xml file in Deployment Manager
Hi Everyone, I am getting this error while doing Import of HRPeopleSoftResourceObjects.xml ( A Resource Object xml file) in Deployment Manager. I am doing this step for Authoritative(Trusted Source) Reconciliation. Error Says:- Attribute not present
-
Increment Counter in Parent / Child
I am generating classes from an existing schema. I have two tables that are Parent / Child with the parent containing an incrementing counter that is part of the Child primary key. Is there a way to describe this relationship so that the generated co
-
Trouble with ASP and databases
Hi, I am trying to create a form in Dreamweaver 8 so my customers can enter their information and save it to a sql server database. I am able to set up the connection to the database using ASP VB. I can create the fields and which records it will upd
-
How to do the job scheduling in BDC Call transaction
Hi Experts, I've a Query like how to do the job scheduling in BDC Call transaction If anybody knows the answer please send me the reply. Thanks. Regards, Rekha