HTTP headers access
Hello,
how can I access http headers in ADF expression builder? I'd like to access the "host" header.
Thank you, Ladislav.
Have you checked the 'JSP Objects' in the Expression Builder?
you can try something like "#{facesContext.externalContext.requestHeaderValuesMap['key']}"
Timo
Similar Messages
-
Hi Team,
I need to access Java web service which is simple service and accepts and returns XML over HTTP. No credentials are needed to access the service. We need to pass following two HTTP headers (Content-Type and Authorization) along with XML request message:
<GetStatus> message is being constructed in the orchestration and URI is constant to access.
Which adapter shall I use to get the response back? I tried using WCF-WSHttp with Security Mode = Transport, and different options of client credential types but every time, error returned stating:
System.Net.WebException:
The HTTP request is unauthorized with client authentication scheme 'Basic'. The
authentication header received from the server was 'Basic realm='.
Authentication failed for principal Basic. Message payload is of type:
String
In Fiddler, request looks line following
POST <https://URL/GetServiceReopnse HTTP/1.1
Content-Type: application/xml
Authorization: Basic cmVmU3RhdHN2Y19kgeRfsdfs=
Host: <Server name>
<GetStatus XMLNS="http://server.com/.....">
<OrgId>232323</OrgId>
<HubId>3232342323</HubId>
</GetStatus>
MMK-007First, you should not use the HTTP Adapter because it's been deprecated and replaced by WCF.
Start with the WCF-Custom Adapter and select the customBinding.
You should start with the textMessageEncoder and httpTransport and go from there. -
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.
OlafFrom 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. -
Adding custom http headers for WSRP requests
Hello,
I wonder whether it is possible to insert custom http headers for WSRP
requests?
To give more details:
We are going to have portlets exposed via WSRP (hosted on non-weblogic
server). We need these portlets to work on different portals including
WebLogic Portal. And we need to have working SSO. There needed at least
2 SSO options:
1. Having SiteMinder protected portal. Will WebLogic pass SiteMinder
headers further to WSRP producer?
2. Custom SSO tokens to be passed as http headers. Is it possible to
make weblogic to add custom http headers when calling producer?
2a. Credential mapping shall be used to get username/password for
backend application (accessed from producer side), and than these
username/password shall be passed as http headers when requesting producer.
Best regards,
Sviatoslav SviridovHi,
About how to use Rest API via node.js, please refer to
http://stackoverflow.com/questions/5643321/how-to-make-remote-rest-call-inside-node-js-any-curl for more information. Hope this helps.
Best Regards
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Invoke stateful ws: Can't get HTTP headers with CustomHeaderHandler
Hello,
I am trying to invoke a stateful ws as described here (http://www.oracle.com/technetwork/middleware/ias/callingstatefulwsfrombpel-091022.html).
I can succesfully send custom http headers declaring a CustomHeaderHandler.
However, when I try to access the data on the response I cannot get the headers. Hence, I can't get the session ID to pass around. According to what I've seen it should be in the pCallProps variable from the inovke method on the Handler. However that only has: pCallProps [tracking.compositeInstanceId, tracking.conversationId] as keys.
I'm working on soa version 11g.
Any input is appreciated. If I need to expand information, please ask and I will.
Thanks in advance!Not sure this will help, but here goes:
I looked through your stack trace for a phrase that is relatively unique and summarizes the problem. I then google searched on it.
Here is what I googled on:
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
I found this that might be of help:
http://dev.mysql.com/doc/refman/4.1/en/connector-j-usagenotes-troubleshooting.html#qandaitem-19-4-5-3-7
In that document I found this:
"The error probably indicates that you are using a older version of the Connector/J JDBC driver (2.0.14 or 3.0.x) and you are trying to connect to a MySQL server with version 4.1x or newer. The older drivers are not compatible with 4.1 or newer of MySQL as they do not support the newer authentication mechanisms.
It is likely that the older version of the Connector/J driver exists within your application directory or your CLASSPATH includes the older Connector/J package.
Also, the word 'NonRegisteringDriver' above indicates your JDBC (which is a driver_ is a non registering type.
I suggest you hit the MySql home page and see if you can download a newer driver. -
Hi,
I am completely new to access management.
I am trying to print the http headers.
I tried putting jsp page under htdocs folder and tried to access it through OAM HTTP Server.
Post authentication it only prints the jsp and doesn't print the header information.
Please tell me where am I wrong.Got this working by redirecting to weblogic from OHS. Deployed a jsp application over wls and it printed everything.
Thanks. -
Changing http headers using handlers
Is there anyway to access and set http headers using handlers? I took a look at the documentation and wasn't able to find a way to modify the http headers. Only SOAP related stuff. Need to go more low level.
Access the header by getting the HttpServletRequest object as follows:
handleRequest(MessageContext mc)
Object obj = mc.getProperty("weblogic.webservice.transport.http.request");
if(obj != null && obj instanceof javax.servlet.ServletRequest) {
request = (HttpServletRequest) obj;
request.getHeader("Name of Header");
That'll get you the request header.
I'd imagine you could do the same in a handleResponse method if what your trying to do is set a response header. -
Setting HTTP headers when using xrpcc
I am using xrpcc to compile my WSDL and am using the resulting code to access my web service. When accessing a web service this way, is there any way that I can set HTTP headers before the method is invoked? If not, is the only option to build all of the SOAP requests by hand and ditch all of the nice things xrpcc does for me?
Along those same lines, is there any way to get a dump of the SOAP envelope that is being sent when the xrpcc generated methods are invoked?
Thanks.Damn, I need to read the HTTP headers that came in along with the SOAP JAXRPC message. So it looks like a similar problem. And noone answers this question. Damn.
-
Appex 4.1 http headers scheme integration with osso result in 403
Have Apex 4.1 integrated with OSSO using http headers.
When accessing application getting osso login screen, but after been authenticated get 403.
Thank you in advance.Hi,
Look at this document relating your problem http://docs.oracle.com/cd/E25178_01/core.1111/e10043/osso_d_10g.htm#CHDFCCCE
Thanks -
Modify HTTP Headers with FileServlet?
When I use netscape as a webserver, we can specify HTTP headers that go out
on all the static content to insure that it is cached on the client for at
least a few minutes...
Does anyone know how to do that with WLS?
The exact header:
Cache-control: max-age=36000
this is the context:
HTTP/1.1 200 OK
Server: Netscape-Enterprise/4.1
Date: Mon, 10 Sep 2001 23:46:53 GMT
Cache-control: max-age=36000
Content-type: image/gif
Etag: "c1153a1a-1098-2b-3b9933f8"
Last-modified: Fri, 07 Sep 2001 20:54:16 GMT
Content-length: 43
Accept-ranges: bytes
This is how we get it in netscape:
<Object ppath="/usr/netscape/server4/docs/sqa/images/*">
PathCheck fn="set-cache-control" control="max-age=36000"
</Object>you can access the SOAP headers in the call, but I don't think the HTTP headers are directly available.
MAriano Benitez
Join us at BEAParticipate, May 6-9 2007 | Atlanta, Georgia -
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
Maybe you are looking for
-
Tips for users of ThinkPad x41
I had some problems after formatting the hard drive of the ThinkPad X41. Here is my experience how to solve these problems. Maybe it will be useful to somebody. 1. If you have to re-install your Windows connect the CD (DVD) USB drive to your comput
-
.mov from HD vidcam doesn't show all frames in QT
Just bought an HD videocam with SD card storage. The movies import to my Mac in .MOV format. When I play them in QT Pro the sound is fine but the video is VERY choppy, freezing the image for several seconds at a time while the audio plays on. Any ide
-
The error box is entitled firefox.exe - Unable To Locate Component. It suggests re-installing may fix the problem but I've un-installed and re-installed firefox a number of times and no change.
-
Can I get an Ipad with wifi and cellular but no contract with a carrier in the US? I want to use it overseas in Africa with a local SIM card and use the cellular signal for all my internet.
-
Keeping track of Copies + Comparisons in bubbleSort()
Hi, Having a bit of trouble, I believe my comparisons is working correctly, however my copies is not, I beleive my placement is incorrect, can someone please show me the minor adjustment neccessary? public void bubbleSort() { int out,