HTTP Compression causes HTTP2228: Response content length mismatch
Dear All,
My application use iPlanet 6.1, recently we have enabled HTTP compression for the webserver.
Which inturn does not picking up style sheet and results with bad look and feel on front end.
On the back iPlanet logs we see some errors like
warning (23569): for host xxx.xxx.xxx.xxtrying to GET /zbank2/css/zbank.css, finish-response reports: HTTP2228: Response content length mismatch (315 bytes with a content length of 945)
Could you please help to resolve this problem
Thanks,
Jude
Can you send your css file? I tried it on Web Server 7.0 update 3 seems to be working fine.
I made a css file from [http://www.w3.org/Style/Examples/011/firstcss|http://www.w3.org/Style/Examples/011/firstcss]
$cat mystyle.css
body {
padding-left: 11em;
font-family: Georgia, "Times New Roman",
Times, serif;
color: purple;
background-color: #d8da3d }
ul.navbar {
list-style-type: none;
padding: 0;
margin: 0;
position: absolute;
top: 2em;
left: 1em;
width: 9em }
h1 {
font-family: Helvetica, Geneva, Arial,
SunSans-Regular, sans-serif }
ul.navbar li {
background: white;
margin: 0.5em 0;
padding: 0.3em;
border-right: 1em solid black }
ul.navbar a {
text-decoration: none }
a:link {
color: blue }
a:visited {
color: purple }
address {
margin-top: 1em;
padding-top: 1em;
border-top: thin dotted }
$cat myhtml.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>My first styled page</title>
<link rel="stylesheet" href="mystyle.css">
</head>
<body>
This is style.html
</body>
</html>$cat obj.conf
<Object name="default">
AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"
NameTrans fn="ntrans-j2ee" name="j2ee"
NameTrans fn="pfx2dir" from="/mc-icons" dir="/export1/wsNov4/iplanet/ias/server/work/B1/SunOS5.8_DBG.OBJ/lib/icons" name="es-internal"
PathCheck fn="uri-clean"
PathCheck fn="check-acl" acl="default"
PathCheck fn="find-pathinfo"
PathCheck fn="find-index-j2ee"
PathCheck fn="find-index" index-names="index.html,home.html,index.jsp"
ObjectType fn="type-j2ee"
ObjectType fn="type-by-extension"
ObjectType fn="force-type" type="text/plain"
Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common"
Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file"
Service method="TRACE" fn="service-trace"
Output fn="insert-filter" filter="http-compression" type="text/*" vary="on" fragment-size="8096" compression-level="6"
Error fn="error-j2ee"
AddLog fn="flex-log"
</Object>
<Object name="j2ee">
Service fn="service-j2ee" method="*"
</Object>
<Object name="es-internal">
PathCheck fn="check-acl" acl="es-internal"
</Object>
<Object name="cgi">
ObjectType fn="force-type" type="magnus-internal/cgi"
Service fn="send-cgi"
</Object>
<Object name="send-precompressed">
PathCheck fn="find-compressed"
</Object>
<Object name="compress-on-demand">
Output fn="insert-filter" filter="http-compression"
</Object>Sent a request, but I didn't see any errors
[07/Nov/2008:12:58:53] finest (22021): GET /mystyle.css, func_exec reports: executing method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file" Directive="Service"
[07/Nov/2008:12:58:53] finest (22021): GET /mystyle.css, func_exec reports: executing fn="insert-filter" filter="http-compression" type="text/*" vary="on" fragment-size="8096" compression-level="6" Directive="Output" magnus-internal=""
[07/Nov/2008:12:58:53] fine (22021): inserted filter http-compression
[07/Nov/2008:12:58:53] finest (22021): GET /mystyle.css, func_exec reports: fn="insert-filter" filter="http-compression" type="text/*" vary="on" fragment-size="8096" compression-level="6" Directive="Output" magnus-internal="" returned 0 (REQ_PROCEED)
[07/Nov/2008:12:58:53] finest (22021): GET /mystyle.css, func_exec reports: method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file" Directive="Service" returned 0 (REQ_PROCEED)...ssltap shows the response was encoded :
--> [
GET /mystyle.css HTTP/1.1^M
Host: ....
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.1.2) Gecko/20070225
Firefox/2.0.0.2^M
Accept: text/css,*/*;q=0.1^M
Accept-Language: en-us,en;q=0.5^M
Accept-Encoding: gzip,deflate^M
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7^M
Keep-Alive: 300^M
Connection: keep-alive^M
Referer: http://.../myhtml.html^M
Cookie: SUN_ID=129.147.37.51:287861225347735; s_vi=[CS]v1|48F6E7BF00000316-A02082200000556[CE]; nfTimeStamps=19700101000000%7C19700101000000%7C19700101000000; nfSettings=112101110%7C%7Cen_US%7C%7C0%7C60%7C-1%7C%7Cweek%7C-1%7C; location=US;
s_cc=true; s_sq=%5B%5BB%5D%5D; AMAuthCookie=AQIC5wM2LY4SfczkxcjsoIVQbGnnqbFrqk8lWxYT1xzFVlE%3D%40AAJTSQACMDI%3D%23^M
^M
<-- [
HTTP/1.1 200 OK^M
Server: Sun-Java-System-Web-Server/7.0^M
Date: Fri, 07 Nov 2008 07:28:53 GMT^M
Content-type: text/css^M
Last-modified: Fri, 07 Nov 2008 07:20:29 GMT^M
Etag: W/"277-4913ec3d"^M
Content-encoding: gzip^M
Vary: accept-encoding^M
Transfer-encoding: chunked^M
^M
165^M
^_\213^H^CU\222\301N\3030^L\206\357{
^K\256\313\2641!A8q^Z'^N^[/\3406nk-M\252$\355\250\320\336\2354)l\315\245\262^?\307\376?\247\205U#\374\254:T\212M-4UA\302nG\355[\314V\326^DQa\313z\224p \353j\3065<|qK^^>\351^BG\333\242yX\307\322|\222\262^FO\216\253\251Ai\265u^R\272\336u\232\246D\201\345\271v\2667J\314\332\243zQ\270Wp]\365zcp(\320%G\232}^P>\214\232D^X;\222`\254I-f\253^R\266S\324b4e\346\240\263\236^C\333^Xb\341\255\356C\272^Pl'\341)^S\315|9\270\260
\215\204Wj\343\364f\227\306.\220?H^O^T\270\214\320^G24\304\357\273c\3247\340SoNh\2748R\335kt^Q}\212^R\377\202Hs\352~\303\227pi8\373\373G\330<G'\333%\343f\237\275^V\326)r\302q\335d\210\200\254\240\320\261\345b^T\246I\201\276\203PTZ\207y#\323\372b^]J\315\346\234J\346^G(t\237\205\201\343\366H\335k\371\341&U)G\336'-\373^Ui\255\363&\377~\237\373\334\3548\245B\303^F\224^MS\373\353j\365^K O\2450w^B^M
0^M
^M
]
Similar Messages
-
Response content length Mismatch
Hi All,
I have this problem. When ever i run the application,i get the error "Response content length mismatch" for image,css,.png files.. AM using iPLanet 7.0 ..In my obj.conf file, there is no "Output fn" and <Client> tag..KIndly help me out in this as its really urgent
REgardsHi All,
I have this problem. When ever i run the application,i get the error "Response content length mismatch" for image,css,.png files.. AM using iPLanet 7.0 ..In my obj.conf file, there is no "Output fn" and <Client> tag..KIndly help me out in this as its really urgent
REgards -
Hi all
I'm getting these type of errors when accessing content on my web server
Dows anyone know why this could happen???
[23/Nov/2004:21:17:35] warning ( 2167): for host 192.168.107.20 trying to GET /RCU/css/ing_exchange.css, finish-response reports: HTTP2228: Response content length mismatch (2697 bytes with a content length of 5245)
[23/Nov/2004:21:17:35] warning ( 2167): for host 192.168.107.23 trying to GET /RCU/css/common.js, finish-response reports: HTTP2228: Response content length mismatch (2697 bytes with a content length of 5245)
thanks a lot !yep, those files are served by a backend App Serv, actually, the web server load balances 3 Application Servers.
I have no network connection problems, but somehow the files between Web and App servers are not completely sent.
I also have these 2 errors, i dont know if they're related
[24/Nov/2004:11:13:53] warning ( 3510): reports: lb.runtime: ROUT1014: Non-idempotent request /RCU/css/ing_exchange.css cannot be retried.
[24/Nov/2004:11:13:53] info ( 3510): reports: lb.runtime: RNTM3003 : Error servicing the request : selected server could not service
thanx -
SunOne Web Server 6.1 and JSP response content-length
Hi,
I am looking for help for a problem in my previous post
http://swforum.sun.com/jive/thread.jspa?threadID=58612.
It seems to me the only significant difference of the response to the same jsp file from 6.0 and 6.1 server is the content-length header.
6.0 response has the content-length header;
6.1 response does not have the content-length header.
HttpUrlConnection::getContentLength() returns the actual content length of the 6.0 response;
HttpUrlConnection::getContentLength() returns -1 for the 6.1 response.
Here is the dump,
SunOne WebServer 6.0
allowUserInteraction? false
content? sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@1eed786
contentEncoding? null
contentLength? 999
contentType? application/x-java-jnlp-file
Date? 1131378080000
DefaultAllowUserInteraction? false
DefaultUseCaches? true
DoInput? true
DoOutput? false
Expiration? Wed Dec 31 19:00:00 EST 1969
FileNameMap? java.net.URLConnection$1@1a1c887
lastModified? Wed Dec 31 19:00:00 EST 1969
requestMethod? GET
responseCode? 200
responseMessage? OK
HEADER::Set-cookie=[JSESSIONID=pkand013-1%253A436f75a0%253A5b909ee2e5bbe3bc;path=/]
HEADER::Date=[Mon, 07 Nov 2005 15:41:20 GMT]
HEADER::Server=[Netscape-Enterprise/6.0]
HEADER::null=[HTTP/1.1 200 OK]
HEADER::Content-length=[999]
HEADER::Content-type=[application/x-java-jnlp-file]
SunOne WebServer 6.1
allowUserInteraction? false
content? sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@1fee6fc
contentEncoding? null
contentLength? -1
contentType? application/x-java-jnlp-file
Date? Mon Nov 07 10:49:07 EST 2005
DefaultAllowUserInteraction? false
DefaultUseCaches? true
DoInput? true
DoOutput? false
Expiration? Wed Dec 31 14:00:00 EST 1969
FileNameMap? java.net.URLConnection$1@1503a3
lastModified? Wed Dec 31 19:00:00 EST 1969
requestMethod? GET
responseCode? 200
responseMessage? OK
HEADER::null=[HTTP/1.1 200 OK]
HEADER::Expires=[Wed, 31 Dec 1969 19:00:00 EST]
HEADER::Set-cookie=[JSESSIONID=44A318F4BC0802A4C70C27FD4AB1C115;Path=/]
HEADER::Transfer-encoding=[chunked]
HEADER::Date=[Mon, 07 Nov 2005 15:49:07 GMT]
HEADER::Pragma=[No-cache]
HEADER::Server=[Sun-ONE-Web-Server/6.1]
HEADER::Content-type=[application/x-java-jnlp-file]
HEADER::Cache-control=[no-cache]
In my test env, 6.0 and 6.1 are installed on the same machine (Win2K), using the same directory as web root, same http port. Browser runs on a different machine.
Thanks
HarryHi, elving
This is good information. Thanks very much.
Actually, I am not using SSL, just plain http connection with basic auth. It might be the cache-control header that causes the head ache. 6.0 response does not have the cache-control header, but 6.1 has.
The interesting thing is that adding a servlet mapping on 6.1 solves the problem.
I will take a further look tomorrow.
Cheers,
Harry
I doubt the problem has to do with the Content-Length
header.
I'd guess that you're using SSL. Are you? If so,
you're almost certainly bumping into a known bug (or,
as Microsoft describes it, a "feature") in Internet
Explorer. Microsoft article KB316431 at
http://support.microsoft.com/default.aspx?scid=316431h
as some information on the problem. As the article
points out, the problem occurs when Internet Explorer
needs to invoke an external application to handle a
file that was served over SSL with Cache-Control:
no-cache and/or Pragma: no-cache headers.
A work around would be force Web Server to send
Cache-Control and Pragma headers that don't include
the no-cache directive. For example, the following
lines could be added to the obj.conf configuration
file:<Object ppath="*.jnlp">
Output fn="set-variable" set-srvhdrs="Cache-Control:
private"
Output fn="set-variable" set-srvhdrs="Pragma:
private"
</Object>Fortunately, it sounds like you've already
found another viable work around. -
Html filtering content length issue
I am using the Filter type="filter-hhtml" to tets stripping out EMBED and OBJECT tags from html pages. It is working fine but when the resulting page is loaded the browser (konquorer in this instance) reports a content length mismatch and shows an error message. The new page is shown. When I try and view the html source I get the same error and never get to see the source. When I try under Firefox and IE it works fine. I was just wondering if it was possible (or even necessary) to change the content-length to accurately depict the resulting size of the page after filtering?
Checkout send-error.So I can place a drective like this (assuming I have a 403.html file in that location):
Error fn=send-error code=403 path=/opt/sun/webproxyserver/html/errors/403.html
I assume I place this inside my Object definition for my template ... is that correct? I plan on placing it at the bottom of my template. Does its location in the Object definition matter? I am sorry but the docs are not real clear (at least to me) on hard details so forgive my questions.
just for clarity is this a proper template definition(I have 3)?NameTrans fn="assign-name" name="BlackList" from="http://.*yahoo.*"
NameTrans fn="assign-name" name="WhiteList-level1" from=".*://64\.215\.169\.*/.*|.*://.*gblx.net/.*"
NameTrans fn="assign-name" name="WhiteList-default" from=".*://.*/.*"
The one named BlackList is just for testing purposes (which I can't seem to get to work either.
Isn't the following legal? When I have a template match it should go to this object and execute directives right? It should see and execute the deny-service right? Why is it not?
<Object name="BlackList">
Service fn="deny-service"
Error fn=send-error code=403 path=/opt/sun/webproxyserver/html/errors/403.html
</Object>
thanks again
Doug -
HTTP PUT Request for File Uploads is returning a response header with content-length = 0
After upgrading from CF9 to Coldfusion 10, I'm running into an odd issue, with `cURL` calls to a webservice that used to work.
We are using an HTTP PUT Request with multipart="no" so that the request header content is the file itself, now the data is being sent properly in the content but it has a ~8k limit. This is fine for smaller files but some files are 60kb etc.
Errors are odd too, near the 8KB limit we get a bad gateway error 502, and above that the webpage errors with a connection reset.
It works fine with multipart="yes", but in a PUT request the file's data isn't even sent since it's looking for `httpparam formField` , the content-length from the target page's Headers show a content-length of 0 which causes `cURL` to fail with an error (56): http://curl.haxx.se/docs/manpage.html
Here's example code to reproduce:
<cfset sFilename = "C:\999\test4.txt">
<cffile action="readBinary" file="#sFilename#" variable="fileRead">
<cfset oFileInfo = GetFileInfo("#sFilename#")>
<cfhttp url="localhost/Clarence/diff_elt_test_output.cfm"
method="PUT"
username="******"
password="******"
multipart="yes"
result="oHttp">
<cfhttpparam type="header" name="Content-Type" value="text/plain" />
<cfhttpparam type="header" name="Content-Length" value="#oFileInfo.Size#" />
<cfhttpparam type="body" value="#fileRead#"/>
</cfhttp>
<cfdump var="#oHttp#">
Dumping the response via GetHttpRequestData() shows that the header's content-length = 0 and content is blank.
Whereas POST requests work fine, cURL has a -F form option which is our fallback but a solution to this would be great.
Here's what I've tried:
1. Changing CF post request limit sizes (64MB+)
2. Changing IIS config web/webserver http runtime and security.request filtering request limits to much higher values
3. AJP Connector between IIS and Tomcat has a default 8KB header limit, I changed that to 64k on both sides, still nothing
Also am I missing something fundamental here? I thought at the network layer a packet is split up and rejoined, so large content in a http request body should work, what's wrong with Coldfusion 10?I am familiar with java.net package and know how to
Read and Write Streams.
However, what I do not know is what string
represntation of PUT or POST resquests is?It's HttpURLConnection.setRequestMethod("PUT") or ("POST").
Also you have to setDoOutput(true).
Then you set the content type, possibly encode the input, set the content length, and write the file data to the stream.
Using a Jakarta package may be easier, however. -
Missing Content-Length in HTTP response
Hi All,
I am experimenting with developing websevices using Sun Java Application Server. I have a working webservice using BEA Weblogic and I would like to have it ported to SUN. The application works like this: A client (Tuxedo application program) sends an XML document to the webservice, in response the websevice parse this document and based on certain fields it send back another document.
The problem is that the SUN application does not return the content-length in its response and hence the requesting client rejects the message. Can anyone help?? Below is the response from both SUN and Weblogic:
Weblogic
HTTP/1.1 200 OK
Date: Sat, 22 Oct 2005 11:42:53 GMT
Pragma: no-cache
Server: WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 with CR174524
Content-Length: 2025
Content-Type: text/xml; charset=UTF-8
Expires: Thur, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache
Connection: Close
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
SUN
HTTP /1.1 200 OK
X-Powered-By: Servlet/2.4
SOAPAction: ""
Content-Type: text/xml;charset=utf-8
Date: Sat, 22 Oct 2005 11:42:53 GMT
Server: Sun-Java-System/Application-Server
Connection: close
<?xml version="1.0" encoding="UTF-8"?>
env:Envalope xmls:env="http://schemas.xmlsoap.org/soap/envelope/"
As can be seen the Content-Length is missing.
Thanks for your help.
RansfordIs there an option in Sun Java Application Server to include Content-Length in response to a client request? If not is it possible to generate this information from the service code?
Thanks. -
Content-Length Header Missing in Http Response
Hi folks,
Our application uses JSPs and Servlets. To solve a TCP level probelm, we would like to ensure that each response sent from the WebLogic Server includes a content-length header. All the pages are dynamic and therefore we cannot explicitly set the content-length.
To ensure that WebLogic has the opportunity to set this header, we have increased the response buffer size by adding a <%@ page buffer="nK" %> header to our JSPs and a response.setBufferSize call to our Servlets. The responses still do not contain a content-length header.
Is there anything else we can do to get WebLogic to set this header?
Thanks in advance,
SantoshAnybody?
-
Wrong content length in response header, ICM
Hello,
When i checked in the SMICM log file i got the error message:
[Thr 1085303104] *** ERROR => HttpClntHdlResponse: client: premature EOS (28980/59150) - wrong content length in response header
Kindly let me know what may be the cause of this error.
Kind regards
LutzHi Raghu and Anil,
here are some more information:
Kernel-Release 700
Compilation Linux GNU SLES-9
Patch-Level 201
SAP_ABA 700 0019 SAPKA70019
SAP_BASIS 700 0019 SAPKB70019
PI_BASIS 2005_1_700 0019 SAPKIPYJ7J
ST-PI 2008_1_700 0000 -
SAP_BW 700 0021 SAPKW70021
SAP_AP 700 0016 SAPKNA7016
SAP_APPL 600 0015 SAPKH60015
SAP_HR 600 0038 SAPKE60038
ST-A/PI 01L_ECC600 0000 -
ICM Parameter
Services
icm/server_port_0 = PROT=HTTP,PORT=8022
icm/server_port_1 = PROT=SMTP,PORT=0
Hard limits
icm/max_services = 30
icm/listen_queue_len = 512
icm/req_queue_len = 500
icm/max_conn = 500
icm/max_sockets = 2048
Thread handling
icm/min_threads = 10
icm/max_threads = 50
icm/min_spare_threads = 3
Tracing and statistic
rdisp/TRACE = 1
icm/tracefile = dev_icm
icm/log_level = 0
icm/stat_level = 1
icm/security_log = LOGFILE=dev_icm_sec,MAXSIZEKB=500
icm/accept_remote_trace_level = 0
Monitoring
icm/ccms_monitoring = 1
icm/ccms_refresh_rate (sec.) = 30
Timeout handling
icm/keep_alive_timeout (sec.) = 60
icm/conn_timeout (msec.) = 5000
HTTP settings
icm/HTTP/max_request_size_KB = 102400
icm/HTTP/server_cache_0 = PREFIX=/, CACHEDIR=/usr/sap/PF1/DVEBMGS22/dat
a/cache
icm/HTTP/admin_0 = PREFIX=/sap/admin,DOCROOT=/usr/sap/PF1/DVEBMG
S22/data/icmanroot/admin,AUTHFILE=/usr/sap/PF1/SYS
icm/HTTP/auth_0 = PREFIX=/,FILTER=SAP
HTTP(S) error handling
is/HTTP/show_detailed_errors = 1
HTTPS (SSL) settings
icm/HTTPS/verify_client = 1
ssf/name =
ssf/ssfapi_lib =
sec/libsapsecu =
ssl/ssl_lib =
Context Quotas
icm/HTTP/context_quota = 90%
icm/HTTPS/context_quota = 90%
icm/SMTP/context_quota = 90%
Memory Pipe settings
mpi/total_size_MB = 80
mpi/buffer_size = 65536
J2EE settings
rdisp/j2ee_start = 0
is/HTTP/default_root_hdl = J2EE
Content Filter settings
csi/enable = TRUE
csi/SAP/csa_lib = /usr/sap/PF1/DVEBMGS22/exe/libsapcsa.so
Misc
icm/host_name_full = cipf122.ikk.local
icm/cancel_strategy = cancel requests without session (stateless)
rdisp/plugin_auto_logout = 1800
is/HTTP/virt_host_0 = :;
is/SMTP/virt_host_0 = :;
Best regards
Lutz -
Unable to deserialize HTTP response content - SharePoint Designer Call Web Service Workflow Activity
I am creating a workflow using SharePoint Designer 2013 and I'm using the call HTTP web service action.
The web service call works (it is for a text messaging service, and I get the text message to my phone) however the workflow stops at this point with internal status "suspended" and gives the error message below when clicking on the "i"
icon.
I have tried setting the Accept and Content-Type request headers to "application/json; odata=verbose" (minus the quote marks) as other posts suggested but this doesn't make a difference (e.g. here: https://social.msdn.microsoft.com/Forums/windowsapps/en-US/f0b18411-87d1-466b-aab0-1a0093605ed4/workflow-cannot-read-json-after-latest-sp15-patches?forum=sharepointdevelopment).
I tried adding in the Content-Length header too but that made no difference.
I tested calling another web service (https://sharepointurl/_api/contextinfo) and this works fine.
Is there any way to get the workflow to accept this XML as the response? I don't actually really need anything out of the response content, but I do need the workflow to carry on after this step and carry out other activities after this call.
Error message:
Details: An unhandled exception occurred during the execution of the workflow instance. Exception details: System.IO.InvalidDataException:
Unable to deserialize HTTP response content. Expected ContentType : 'application/json', 'text/plain' or 'text/html', Received ContentType : 'text/xml'. Content (truncated) : '<?xml version="1.0" ?><outbound-message-delivery messageId="35d60bd2-a829-4382-8189-7a74de2d1cca"
isError="false"><recipient msisdn="6427xxxxxxx" isError="false"></recipient></outbound-message-delivery>'. ResponseStatusCode : 'OK' Request Uri : 'https://www.txtserviceurl.co.nz/api/3/sms/out?to=6427xxxxxxx&body=test+from+workflow'
at Microsoft.Activities.Messaging.SendHttpRequest.OnReceiveResponse(NativeActivityContext context, Bookmark bookmark, Object value) at System.Activities.Runtime.BookmarkCallbackWrapper.Invoke(NativeActivityContext context, Bookmark bookmark, Object value)
at System.Activities.Runtime.BookmarkWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager) Exception from activity SendHttpRequest HttpPost Switch<String> Sequence Microsoft.SharePoint.WorkflowServices.Activities.CallHTTPWebService
Stage 1 Sequence Flowchart Sequence TestingHi,
Thank you for your post.
I'm trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.
Best Regards,
Lisa Chen
Forum Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected]
Lisa Chen
TechNet Community Support -
Content-length in HTTP Post request
Hi all,
I have a problem with a Http request. I send data in a POST to a servlet, but the KVM doesn't set the Content-Length correctly. How can I do ?
The code :
conn = (HttpConnection) Connector.open(m_strServer);
conn.setRequestMethod(HttpConnection.POST);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
String requestData = "from=" + m_strOriginator + "&to=" + m_strDestinator + "&message=" + m_strMessage;
out = conn.openDataOutputStream();
out.write(requestData.getBytes());
out.flush();
in = conn.openDataInputStream();
if (conn.getResponseCode() == 200)
response = true;the request sended :
POST /my_directory/test.xml HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Transfer-Encoding: chunked
Host: my_pc
15
from=8&to=9&message=J
0
I think that the KVM doesn't put "Content-Length:" before "15".
Perhaps it's a bug.
St�phaneMaby u try to force it with:
conn.setRequestProperty ( "Content-Length" ,
Integer.toString (requestData.getBytes()));
for me it does also not work...but u never know
lemme know if it works
Fabian -
Recently I’m testing the Fluid UI with OATS 12.4.0.2.
In this test, since the browser get all tiles in current page simultaneously, I have to simulate this behavior in OpenScript/OLT.
Then I put all those http requests into a concurrent block ( marked by begin/endconcurrent statments) and it works fine.
But this bring in a limitation: so far, the OATS doesn’t support to verify the http response contents if those http requests resided inside the concurrent blocks.
So I did an enhancement for OpenScript to overcome this limitation. I think it might useful if you have similar test scenario.
How to use it:
Put the attached file ConcurrentHTTPService.java into your OpenScript project folder ( same folder as where your script.java living).
Replace the alias line for http in script.java, the below is after replacement:
//@ScriptService oracle.oats.scripting.modules.http.api.HTTPService http;
@ScriptService ConcurrentHTTPService http;
3. Put your http.get inside concurrent block as usual:
http.beginConcurrent("Get_Tiles_Concurrently");
//The below IDs are useful for later. We use this ID to identified the http requests inside the concurrent block.
//If you dn’t have those IDs, it’s OK, we can use the full URL string (including all parameters)to do the same thing,
//but the full URL is very long, and I hate the screen were occupied by URLs…
http.get( 193, "http://Page1",...);
http.get( 194, "http://Page2",...);
http.endConcurrent("Get_Tiles_Concurrently");
4. After endConcurrent statement, We can use the following methods to get the http response content by RecID or full URL:
//Those methods should be used after the endConcurrent statement
//Get the response contents:
//Please reference the http.getLastResponseContent method for the explain of parameters.
info("Resp 193/Page1:" + http.getLastResponseContentForConcurrent(193,Source.Html));
info("Resp 193/Page1:" + http.getLastResponseContentForConcurrent("http://Page1",Source.Html));
//Verify the response contents:
//Please reference the http.AssertText method for the explain of parameters.
http.AssertTextForConcurrent(193, "Text Match Name", "Key_word_should_appear_in_response_content_of_request_193/page1",
Source.Html, TextPresence.PassIfPresent, MatchOption.Exact);
http.AssertTextForConcurrent(("http://Page1", "Text Match Name", "Key_word_should_appear_in_response_content_of_request_194/page2",
Source.Html, TextPresence.PassIfPresent, MatchOption.Exact);
Done!
Thank glenn.s in this thread: How to test asynchronous web service.I think I have the solution to your dynamic addressing problem, but I have a problem combining HTTP authentication with dynamic address resolution.
I've got an external service that requires basic authentication and I've handled it successfully by adding a <MustSupportBasicAuthentication> block to the WSDL, as described in the article "Basic Authentication in HTTP SOAP BC" (http://wiki.open-esb.java.net/Wiki.jsp?page=HTTPBasicAuthentication). This works perfectly, causing the HTTP BC to send credentials every time it accesses the external service.
Now I want to make the URL of this external service dynamic (i.e., read it at run time from a configuration mbean). I followed the example from the article "Using Dynamic Address feature" (http://wiki.open-esb.java.net/Wiki.jsp?page=UsingDynamicPartnerLinks), which shows you how to send an endpoint reference (EPR), in the form of an <EndpointReference> block. This also works fine.
(I believe this last technique is the solution to your dynamic addressing problem. I've used both with and without BPEL. To use it outside of BPEL, you make a DocumentFragment out of the XML tree that begins with <EndpointReference> and pass it as an argument to the resolveEndpointReference method of your component context. This causes the JBI container to contact the HTTP BC, which understands the EPR.)
My problem is this: once I've dynamically changed the target URL of the external service, the HTTP BC seems to forget that it requires authentication and no longer sends credentials.
Has anyone else experienced this behavior, and if so how did you work around it? -
Gzip / Content-Length HTTP-Header
Hello,
I'm writing an HTTP-Proxyserver, but I don't know how to get the length of a GZIPOutputStream ... I'm compressing the data, if the server does not send gzipped data:
logger.debug("Encode as GZip data!");
byte[] BinaryBody = new byte[8192];
GZIPOutputStream gzipOut = new GZIPOutputStream(client.getOutputStream());
int length;
while ((length = in.read(BinaryBody)) != -1)
gzipOut.write(BinaryBody, 0, length);
gzipOut.flush();
gzipOut.close();I often get a Nullpointer exception in the line (while ((length = in.read(BinaryBody)) != -1)
I think it's because I don't set the Content-Length Header, but I'm not sure.
greetings,
JohannesDisable the "Use Chunked Streaming Mode" property in HTTP Transport Configuration of your business service. By default it remains enabled.
Regards,
Anuj -
OSB - Content length http header missing from business service out message
Hi all,
I am having some diffuclty with a business service in OSB. I created the business service from the wsdl and created a regular proxy service that just routes to the business service. When i run the test console i get the below fault.
<faultcode>soapenv:Server</faultcode>
<faultstring>BEA-380000: Length Required</faultstring>
<detail>
After some debugging i find that the content length http header is missing from the outbound message the business process creates and sends to the acutal web service which sends back the http 411 fault.
Does anyone know how to configure the message flow of my proxy service to ensure that the outbound message sent from the business service contains that content length http header or any suggestions on how to fix this issue will be appreciated.
ThanksDisable the "Use Chunked Streaming Mode" property in HTTP Transport Configuration of your business service. By default it remains enabled.
Regards,
Anuj -
How to verfiy the http compression
Hi, I'm using Sun ONE Web Server 6.1, and have configured it to compress the content on demand.
I received the following http response, but in both cases of turning on/off the compression on demand.
HTTP/1.1 200 OK
Server: Sun-ONE-Web-Server/6.1
Date: Thu, 13 Jan 2005 09:36:29 GMT
Content-Type: text/html
Transfer-encoding: chunkedHow can I verify the compression work?
Will it show different result in case of turn on/off the compression?
TIA,
MatthewSorry about that. Because you pasted in an HTTP response, I assumed you already knew how to manually submit HTTP requests.
You can use telnet to submit HTTP requests, impersonating a web browser. Here's an example on a Solaris machine, mbelshe, where I have a Web Server instance running on port 2600: elving@mbelshe:~> telnet mbelshe 2600
Trying 10.5.80.146...
Connected to mbelshe.
Escape character is '^]'.
GET / HTTP/1.0
HTTP/1.1 200 OK
Server: Sun-Java-System-Web-Server/7.0
Date: Mon, 17 Jan 2005 01:53:26 GMT
Content-type: text/html
Last-modified: Thu, 13 Jan 2005 21:13:53 GMT
Content-length: 355
Connection: close
<html>...</html>
Connection to mbelshe closed by foreign host.
elving@mbelshe:~> The stuff in bold is the stuff I typed. I'll try that same HTTP request again, but this time indicate that I want a compressed response: elving@mbelshe:~> telnet mbelshe 2600
Trying 10.5.80.146...
Connected to mbelshe.
Escape character is '^]'.
GET / HTTP/1.0
Accept-encoding: gzip
HTTP/1.1 200 OK
Server: Sun-Java-System-Web-Server/7.0
Date: Mon, 17 Jan 2005 01:53:27 GMT
Content-type: text/html
Last-modified: Thu, 13 Jan 2005 21:13:53 GMT
Content-encoding: gzip
Vary: accept-encoding
Connection: close
MP�N�0...����\�
Connection to mbelshe closed by foreign host.
elving@mbelshe:~> Note that when I ask for a compressed response, the server responds with a Content-encoding: gzip header and spews out gobbledygook instead of HTML.
There are other, prettier ways to get this sort of information. One such way is the LiveHTTPHeaders extension for Mozilla and Firefox. There's more information on that extension at http://livehttpheaders.mozdev.org/.
Maybe you are looking for
-
Jdeveloper error while running a page
Hi All, I am using 10.1.3.3.0.3 Jdev. I am trying to run a page using Jdev but I am getting below error. I can run the tutorial page successfully but when I try to run other page then it gives me error. I am trying to run below page- /oracle/apps/icx
-
XSQL error when trying to insert record
hi, I encounter a problem using INSERT statement in xsql:query action. If I try to use INSERT statement in my xsql page like this: <xsql:ze_action bean="TaskentryIn"> <xsql:query> INSERT Grundtab( Datum,Startzeit,Endzeit) VALUES ('{@date}',{'@begin}'
-
Entourage won't connect to Exchange
Hi, I'm posting this in the Apple discussions because I'm hoping there's some guru out here who is excellent with Entourage (I know... I hate Entourage as well, but unfortunately we support it) We have a problem in which some of our Entourage users c
-
ACR VS RAW Developer for image detail
I am an avid/loyal ACR fan who makes mural sized landscape prints from digital capture. I keep hearing on various forums how Raw Developer (Mac) is the best out there for extracting every ounce of discernable detail from a raw file to a print. I am
-
OVM Manager 3.1.1 - can i load system.img only?
Just wondering if any of you have tried creating a VM, and then selecting to load system.img only as a startup disk, not including the tools.img. Will it give you the OS VM only or will it fail to boot? There is no reason why I want to do this, I'm j