HTTP headers - auth_user
Hi all,
is there a way to access http headers like auth_user from an XSQL page?
Thanks for any input.
Olaf
From a custom action handler, this is easy since you can get a hold of the HTTPRequest and get the auth_user from the request.
My book Building Oracle XML Applications has an example of exactly this on page 597, but using the example action handler in the release notes, if you're familar with the HTTPRequest object, it should take only a short time to write yourself.
Similar Messages
-
Generate PDF using Managed Bean with custom HTTP headers
Background
Generate a report in various formats (e.g., PDF, delimited, Excel, HTML, etc.) using JDeveloper 11g Release 2 (11.1.2.3.0) upon clicking an af:commandButton. See also the StackOverflow version of this question:
http://stackoverflow.com/q/13654625/59087
Problem
HTTP headers are being sent twice: once by the framework and once by a bean.
Source Code
The source code includes:
- Button Action
- Managed Bean
- Task Flow
Button Action
The button action:
<af:commandButton text="Report" id="submitReport" action="Execute" />
Managed Bean
The Managed Bean is fairly complex. The code to `responseComplete` is getting called, however it does not seem to be called sufficiently early to prevent the application framework from writing the HTTP headers.
HTTP Response Header Override
* Sets the HTTP headers required to indicate to the browser that the
* report is to be downloaded (rather than displayed in the current
* window).
protected void setDownloadHeaders() {
HttpServletResponse response = getServletResponse();
response.setHeader( "Content-Description", getContentDescription() );
response.setHeader( "Content-Disposition", "attachment, filename="
+ getFilename() );
response.setHeader( "Content-Type", getContentType() );
response.setHeader( "Content-Transfer-Encoding",
getContentTransferEncoding() );
Issue Response Complete
The bean indirectly tells the framework that the response is handled (by the bean):
getFacesContext().responseComplete();
Bean Run and Configure
public void run() {
try {
Report report = getReport();
configure(report.getParameters());
report.run();
} catch (Exception e) {
e.printStackTrace();
private void configure(Parameters p) {
p.put(ReportImpl.SYSTEM_REPORT_PROTOCOL, "http");
p.put(ReportImpl.SYSTEM_REPORT_HOST, "localhost");
p.put(ReportImpl.SYSTEM_REPORT_PORT, "7002");
p.put(ReportImpl.SYSTEM_REPORT_PATH, "/reports/rwservlet");
p.put(Parameters.PARAM_REPORT_FORMAT, "pdf");
p.put("report_cmdkey", getReportName());
p.put("report_ORACLE_1", getReportDestinationType());
p.put("report_ORACLE_2", getReportDestinationFormat());
Task Flow
The Task Flow calls Execute, which refers to the bean's `run()` method:
entry -> main -> Execute -> ReportBeanRun
Where:
<method-call id="ReportBeanRun">
<description>Executes a report</description>
<display-name>Execute Report</display-name>
<method>#{reportBean.run}</method>
<outcome>
<fixed-outcome>success</fixed-outcome>
</outcome>
</method-call>
The bean is assigned to the `request` scope, with a few managed properties:
<control-flow-rule id="__3">
<from-activity-id>main</from-activity-id>
<control-flow-case id="ExecuteReport">
<from-outcome>Execute</from-outcome>
<to-activity-id>ReportBeanRun</to-activity-id>
</control-flow-case>
</control-flow-rule>
<managed-bean id="ReportBean">
<description>Executes a report</description>
<display-name>ReportBean</display-name>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
The `<fixed-outcome>success</fixed-outcome>` strikes me as incorrect -- I don't want the method call to return to another task.
Restrictions
The report server receives requests from the web server exclusively. The report server URL cannot be used by browsers to download directly, for security reasons.
Error Messages
The error message that is generated:
Duplicate headers received from server
Error 349 (net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): Multiple distinct Content-Disposition headers received. This is disallowed to protect against HTTP response splitting attacks.Nevertheless, the report is being generated. Preventing the framework from writing the HTTP headers would resolve this issue.
Question
How can you set the HTTP headers in ADF while using a Task Flow to generate a PDF by calling a managed bean?
Ideas
Some additional ideas:
- Override the Page Lifecycle Phase Listener (`ADFPhaseListener` + `PageLifecycle`)
- Develop a custom Servlet on the web server
Related Links
- http://www.oracle.com/technetwork/middleware/bi-publisher/adf-bip-ucm-integration-179699.pdf
- http://www.slideshare.net/lucbors/reports-no-notes#btnNext
- http://www.techartifact.com/blogs/2012/03/calling-oracle-report-from-adf-applications.html?goback=%2Egde_4212375_member_102062735
- http://docs.oracle.com/cd/E29049_01/web.1112/e16182/adf_lifecycle.htm#CIABEJFB
Thank you!The problem was that the HTTP headers were in fact being written twice:
1. The report server was returning HTTP response headers.
2. The bean was including its own HTTP response headers (as shown in the question).
3. The bean was copying the entire contents of the report server response, including the headers, into the output stream.
Firefox ignored the duplicate header errors, but Google Chrome did not. -
HTTP Headers - enabling caching and compression with the portal?
Has anyone configured their web server (IIS or Apache) or use a commercial product to flawlessly cache and compress all content generated by the portal?
Compression and caching is critical for making our portal based applictions work for overseas users. It should be doable, just taking advantage of standard HTTP protocols, but implementing this a complex system like the portal is tricky, we seem to be generating different values in the HTTP Headers for the same types of files (such as CSS).
We are running Apache so can't take advantage of the built in compression capabilities of the .net portal. We are running the java vervion. 6.1 mp1, sql server 2000 (portal, search, collab, publisher, studio, analytics, custom .net and java portlets on remote server).
Basically our strategy is to compress all outgoing static and dynamic text content (html, CSS, javascript), and to cache all static files (CSS, javascript, images) for 6 months to a year depending on file type.
Here are some links on the subjects of caching and compression that I have compiled:
Caching & Compression info and tools
http://www.webreference.com/internet/software/servers/http/compression/
http://www.ibm.com/developerworks/web/library/wa-httpcomp/
http://www.mnot.net/cache_docs/
http://www.codeproject.com/aspnet/HttpCompressionQnD.asp?df=100&forumid=322472&exp=0&select=1722189#xx1722189xx
http://en.wikipedia.org/wiki/Http_compression
http://perl.apache.org/docs/tutorials/client/compression/compression.html
https://secure.xcache.com/Page.aspx?c=60&p=590
http://www.codinghorror.com/blog/archives/000807.html
http://www.howtoforge.com/apache2_mod_deflate
http://www.ircache.net/cgi-bin/cacheability.py
http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/
http://betterexplained.com/articles/speed-up-your-javascript-load-time/
http://betterexplained.com/articles/speed-up-your-javascript-load-time/
http://www.rubyrobot.org/article/5-tips-for-faster-loading-web-sites
http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/
http://www.gidnetwork.com/tools/gzip-test.php
http://www.pipeboost.com/
http://www.schroepl.net/cgi-bin/http_trace.pl
http://leknor.com/code/gziped.php?url=http%3A%2F%2Fwww.google.com
http://www.port80software.com/surveys/top1000compression/
http://www.rexswain.com/httpview.html
http://www.15seconds.com/issue/020314.htm
http://www.devwebpro.com/devwebpro-39-20041117DevelopingYourSiteforPerformanceCompressionandOtherServerSideEnhancements.html
http://www.webpronews.com/topnews/2004/11/17/developing-your-site-for-performance-optimal-cache-control
http://www.sitepoint.com/print/effective-website-acceleration
http://nazish.blog.com/1007523/
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/IE_Fiddler2.asp?frame=true
http://www.fiddlertool.com/fiddler/version.asp
http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
http://www.web-caching.com/cacheability.html
http://www.edginet.org/techie/website/http.html
http://www.cmlenz.net/blog/2005/05/on_http_lastmod.html
http://www.websiteoptimization.com/speed/tweak/cache/
http://www.webperformance.org/caching//caching_for_performance.html
http://betterexplained.com/articles/how-to-debug-web-applications-with-firefox/
Edited by tkoenings at 06/18/2007 6:26 AMHi Scott,
Does Weblogic platform 8.1 supports netscape? We have developed a portal which
works perfectly on IE but it dies in netscape. Is netUI tags not supported in
Netscape?
Pls reply
manju
Scott Dunbar <[email protected]> wrote:
From a pure HTML perspective Portal does it's rendering with nested
tables.
Netscape 4.x and below have terrible performance with nested tables.
The
problem is not the Portal server but rather Netscape on the client machine.
If IE and/or a recent version of Netscape/Mozilla is not possible then
there are
really only two options:
1) Faster client hardware - not likely to be an acceptable solution.
2) Minimize the number of portlets and the complexity within the portlets.
Neither of these solutions are a great answer, but the 4.7 series of
Netscape is
getting pretty old. Having said that, we've got customers who want to
continue
to use IE 4 :)
Again, though, this problem is, I'm afraid out of our hands. It is the
client
rendering time that is the issue.
cg wrote:
Does anyone know of any known reasons why the 7.0 (did it also with4.0) portal
pages can take up to almost 30 seconds to load in Netscape 4.7? I knowit is a
very generic question but our customer still uses 4.7 and will notuse the portal
b/c it takes so long to load some of the webapps. What the pages willdo when
loading is that the headers will come up and when it gets to the bodyof the page
it seems to stall and then comes up all of a sudden. For some of thepages it
takes 6 seconds and for others it takes about 24-27 seconds.
We have suggested using IE only but that is not an option with allof the customers
and getting a newer version of Netscape is also out of the question.
Any suggestions would be greatly appreciated.--
scott dunbar
bea systems, inc.
boulder, co, usa -
Acrobat Reader X stores PDFs in Temp-folder even when HTTP-headers say no-cache no-store
After updating from Acrobat Reader 9 to 10 we have noticed that PDFs viewed in the browser are left behind in the Temp-folder even after the browser has been closed.
Http-headers in the response from the server
Cache-Controls: no-cache,no-store,max-age=0,post-check=0,pre-check=0
Content-Type: application/pdf
Content-Disposition: inline; filename="xxxxxxxx.pdf"
Expires: 0
Pragma: no-cache
Folder: [User-folder]\AppData\Local\Temp
Filename-format: PDFxxx.tmp
Browsers: Firefox 3.6, Opera 11, Safari 5
Plugin: Acrobat Reader 10
Simply add a .pdf extension to the file and open again in Acrobat Reader. Since the server has set headers indicating that this PDF should not be stored locally, it is a severe security hole leaving traces of this PDF on the filesystem.
Is this a problem Adobe is aware of? When can we expect this to be fixed?
Regards,
GustavHi Michael,
Thank you for you quick response!
In Acrobat 9, I cannot find the PDFs in the Temp-folder after the browser has been closed.
In Acrobat 10, PDFs are left behind in the Temp-folder even after browser close.
To me, this looks like a bug in Acrobat 10. Would you not agree?
Regards,
Gustav -
Using custom http headers in SOAP sender adapter
Hi,
my problem is exactly the same as reported [here|Re: SOAP Sender - Extract Header Values;] and [here|Variable Transport Binding - Soap Sender;
Basically I'd like to send through the soap sender adapter some custom http headers. I check the necessary options in the advanced tab (set adapter-specific message attributes and variable transport binding), and in the variable header one I put x-StoreCode, which is the same http header I send to PI.
But I won't see anything in the dynamic configuration section when the message is persisted in PI.
Very surprised that I've seen this issue is a common problem others have faced before without success.
Thanks!Hi Michal,
the extra info I'm trying to send separated from the message is an http header, not part of the query string.
If I incorporate the extra info as a parameter to the query string like this, for example:
http://host:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=S1&receiverParty=&receiverService=&interface=Int&interfaceNamespace=urn:test&x-StoreCode=13&nosoap=true
Then I can see the value in the dynamic configuration section:
<SAP:Record namespace="http://sap.com/xi/XI/System/SOAP" name="SQueryString">senderParty=&senderService=S1&receiverParty=&receiverService=&interface=Int&interfaceNamespace=urn:test&x-StoreCode=13&nosoap=true</SAP:Record>
But what I'm trying to do shoould be possible, according to sap help:
http://help.sap.com/saphelp_nwpi71/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm (section Define Adapter-Specific Message Attributes) -
Encoding problem (Umlaute) in HTTP-Headers
Hi!
I have a servlet that is being called by another server via a POST request.
The request contains user data in HTTP-headers, and whenever there is a
German Umlaut in the user's name, it ends up garbled. :(
The requests character encoding is set to 'ISO-8859-1', according to the servlet
requests getCharacterEncoding() method.
I try to copy the value of a header variable into a String like this:
headerNameValue = request.getHeader("headerNameKey");Which, unfortunatly, doesn't work. For example, the value "G�nter" becomes "G����nter".
Shouldn't the API take care of the encoding, when the CharacterEncoding is set
right in the servlet call?
It looks like it interprets the ISO88591 data as Unicode?
BTW, I'm on a WebSphere 5 server, with Java 1.4.
I've been tearing my hair out on this one for days, so any help is highly appreciated.
Thanks a lot!
AndreasA header variable with the key 'accept-charset' is not sent.
Only 'accept-encoding', with the value 'gzip, deflate'.
Like I wrote in my first post, the servlet request's character encoding is set to ISO-8859-1,
according to the getCharacterEncoding-method.
I have kind of solved this for now by converting the String 2times back, like this:
try {
headerNameValue = new String((new String(headerNameValue.getBytes(),"UTF-8")).getBytes(),"UTF-8");
} catch (UnsupportedEncodingException e) {
logger.error("Fehler beim Umwandeln der Umlaute im Benutzernamen.",e);
} }This code converts the '����', that my servlet receives, back to '�'.
(The first conversion changes the '����' to '��', the second the remaining '��' to '�').
While this seems to work, I don't think it is the right solution, and I still don't understand what's going on. :)
Regards,
Andreas -
Biztalk 2013 WCF-WebHTTP Adapter - Outbound HTTP Headers
Hi
I have a requirement to connect to a service using the WCF-WebHTTP adapter that requires authentication to be passed in the Headers.
A usercode and password is sent in the intial header and a security token is returned in the response header.
This security token is then used in the header of each subsequent call to the service.
I could not find anything in the documentation about getting and setting the "HTTP Header" data using maps or variables or using variables in the "Outbound HTTP Headers" on the adapter transport properties.
Any help on this would be gratefully received.
MalcolmYou can set the outbound HTTP header in WCF-WebHTTP adapter by 2 ways
1) At adapter level Change adapter properties
2)Changing Message context property at Orchestration or at pipeline
Its been well documented here
http://blog.codit.eu/post/2013/04/30/Using-HttpHeaders-with-WCF-WebHttp-Adapter-on-Biztalk-2013.aspx
Thanks
Abhishek -
Exclude http headers from reponse??
Hi all,
I post data to a server and get response[in xml] back like this
Socket theSock = new Socket(serverhost,80);
PrintStream ps = new PrintStream(theSock.getOutputStream());
ps.println("POST /url HTTP/1.0");
SAXBuilder builder = new SAXBuilder(); //==<< get reponse
Document doc = builder.build(theSock.getInputStream());
.at builder.build I've got "SAXException: Parsing Error : The root element is required in a well-formed document" .
that because output from theSock.getInputStream() is
HTTP/1.1 200 OK
Date: Wed, 04 Jul 2007 10:14:54 GMT
Content-Length: 105
Content-Type: text/xml;charset=UTF-8
Connection: close
<resp>
<status>200</status>
<description>ok</description>
</resp>I know that if i use HttpURLConnection the response InputStream will not contain http headers. But I'm just curious that with Socket, Is there any trick to get only content from InputStream?There is no trick except to use the HttpUrlConnection class. That�s why it was created. It wraps the socket and parses through the headers for you. The socket is very low level and all it sees are bits over an input stream (TCP / UDP). It does not know or care about HTTP which is a protocol on top of TCP.
-
Hello,
I need to set some custom HTTP Header when i send the SOAP message to an endpoint.
I tried this..but doesn't solve my requirement.
SOAPMessage soapmsg = messageFactory.createMessage();
MimeHeaders mime = soapmsg.getMimeHeaders();
mime.addHeader("SOAPAction", "xxxx");
mime.addHeader("Sender", "yyy");
SOAPMessage reply = connection.call(soapmsg, destination);
Can anyone please guide me how to set HTTP headers for SOAP?
Thanks,Hello,
I need to set some custom HTTP Header when i send the SOAP message to an endpoint.
I tried this..but doesn't solve my requirement.
SOAPMessage soapmsg = messageFactory.createMessage();
MimeHeaders mime = soapmsg.getMimeHeaders();
mime.addHeader("SOAPAction", "xxxx");
mime.addHeader("Sender", "yyy");
SOAPMessage reply = connection.call(soapmsg, destination);
Can anyone please guide me how to set HTTP headers for SOAP?
Thanks, -
Hi.
I discovered my Firefox v26 was SOMETIMES trying to send multiple requests on port 7070 (ukrainian ip-address) independently on what websites were opened at the moment.
The problem remains after v27 update.
I have an addon "live http headers" installed.
As I manually allow the request by firewall nothing appears in the headers window.
Does my firefox seem to be modified with adware/spyware?Have you tried Opening your Firefox in Safe Mode
[[Troubleshoot Firefox issues using Safe Mode]]
please report back to us -
How do I see http headers in new web inspector resource tab?
In Safari 4.x there was a simple tab to see the http headers, but in the new fancy resource tab I can't find them anywhere. Where did they go?
Perhaps you need to take some tutorials.
LabVIEW Introduction Course - Three Hours
LabVIEW Introduction Course - Six Hours
Attachments:
Example_VI_BD.png 11 KB -
Passing HTTP Headers from BPEL to a RESTFul service in SOA 11g PS2.
Hi All,
We have the following requirement.
We need to pass the following headers to RESTFul service.
x_invensys_wss_username = "Some UserName"
x_invensys_wss_password = "Some Password".
I tried to first pass username and password properties by following below post.
Attach Http headers in BPEL Process
Specifically below steps..
Hi,
If you are talking about how to invoke a secured webservice...please follow this...
After creating the reference for your secured webservice in your composite, right click on the composite and say configure web service policies...
Add the security policy named "oracle/wss_http_token_client_policy"
And also, for the reference, create two binding properties
1. oracle.webservices.auth.username
2. oracle.webservices.auth.password
For the above two properties, provide the appropriate values.....
Please test the same after making this changes and let me know....
Thanks,
Narsing Pumandla
======================================================
Somehow i don't see the headers getting added to the call.
The service i am calling don't really need these headers.But the URL we will be calling shortly for the real application need them.
Can someone let me know whether this SOA version supports this or not.?
If yes , Then what is the best way to solve this issue.[i.e Able to send hardcoded values and also user specified values.]
Thanks,
Sid.I am using this URL : api.geonames.org/postalCodeSearch?postalcode=90110&username=siddhardha
I see below message in audit trail.Not sure why the headers are not visible.
Am i missing something which is very fundamental.?
<messages>
<Rest_InputVariable>
<part name="Input">
<Input>
<postalcode>90110</postalcode>
<username>Siddhardha</username>
</Input>
</part>
</Rest_InputVariable>
<Rest_OutputVariable>
<part name="geonames">
<geonames>
.....results.............
</geonames>
</part>
</Rest_OutputVariable>
</messages>
Edited by: Siddhardha M on Jul 19, 2012 5:44 AM -
I'm new to Flex. I'm an ASP.Net developer. We have an ASP.Net application that gets information about the user in http headers. Can a Flex app get info from http headers?
Ok, i filed an enhancement CR103654.
I am not sure when this will be fixed.
Please contact support if you need an urgent fix.
regards,
-manoj
"Steve Watson" <[email protected]> wrote in message
news:3e9d765b$[email protected]..
>
This could work, but we want to distinguish between the different codesespecially
500, 502, and 503.
Steve
"manoj cheenath" <[email protected]> wrote:
There is no API in Web service client to get HTTP response
code. This is because, the web service client can be invoked
using other protocols.
If the return code is not 2XX, then the run time will throw
exception. Will that help?
-manoj
"Steve Watson" <[email protected]> wrote in message
news:[email protected]..
I am coding an asycronous web services client and need to check thestatus
code
in the HTTP response. How can I do this?
Steve Watson -
Hi,
How do I set/add the HTTP headers in the webservice soap client(Call object)?
Any pointers/code samples will be of good help.
Regards
KumzaHi,
I have the same problem and I have tried your solution but the problem persists.
The point is that, in my case, getMessage() returns NULL so I cannot set the header.
Any idea or suggestion?
Thank you very much in advance.
Juan -
How can I parse only the HTTP Headers from an InputStream? I just want to parse up to the end of the headers, I want to preserve the body of the message in the stream to be read later by a content decoder or something along those lines.
Right I already know all of this. First the HTTPURLConnection doesn't have all the features that I want. Second I have already tried creating a parsing routine and for some reason I just can't come up with one that works every time, right now I have...
sb is a StringBuilder
in is a DataInputReader
while ((rdata = in.readLine()) != null && !doneReadingHeader) {
sb.append(rdata);
sb.append("\n");
//If there is a newline?
if(rdata.length() < 1) {
doneReadingHeader = true;
}
Maybe you are looking for
-
BW Datasource on an Infoset Query based on 2 DSO Active tables
Hello, We have created a Datasource in the BW system over an Infoset query (through SQ02) built on 2 DSO tables. In RSA3, this datasource is working fine - it shows us some data (close to 1000 records). The issue is when i try and run a infopackage f
-
How to get diacriptic script in Photoshop
I have a name ending with an e capped by a forward slash on top of it, in Word you find that diacriptic script under symbols but I cannot seem to find this when doing captions. I am ever so green with Photoshop, please bear with me. klokkestoel
-
Hi All, I have a requirement where-in I would need to change the Expiration Date of a Credit Card. Is there any FM or BAPI through which i can have my requirement achieved? If not, then i guess i would need to create a Custom BAPI i.e. "Z" BAPI. Than
-
Adjusting audio levels for selected parts of clips
1.) How can I select a portion of audio in the Viewer and adjust just that portion's auudio using the Level option? 2.) What is the easiest way to remove parts of audio while someone is speaking and says a quick "ugh" or emits a breath sound? Thanks!
-
C++ Libraries compatible between VS Update versions?
It is save to link a DLL compiled with VS 2013 Update X, with a DLL compiled with VS 2013 Update X + 1?