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.
Ransford
Is 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.
Similar Messages
-
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 -
Display/content-length issue
a custom java application merges an image to an PDF document and flattens it using iText. it sets the request header parameters through dynamic javascript and calls the adobe reader to flatten the PDF pages. after the process, the response application screen is not rendered completely. there seems to be delay before the response screen is displayed which is our concern. we suspect that incorrect content length may be a reason for this post process display issue. but, we do not set any content-length thru java.
Q1. is there a way to remove the content-length from the response header?
something like aHeaders for javascript. we wanted to know the syntax for aHeaders usage.
Q2. has anyone faced a similar issue and found a fix for this issue?
appreciate a response. thank you!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 -
Received HTTP response code 401 : Unauthorized
Hi Experts!
I know there are lots of posts regarding Received HTTP response code 401 : Unauthorized, and I read a lot of them.
Unfortunately I got not the solution to my problem.
I have following scenario: async; oneway; xml via DataPower (SOAP) to SAP PI to Service Consumer
When sending a message it is led over the DataPower to the PI, but it is not processed through.
It enters the MP and it is successfully put into the queue. You can see the details below.
15.02.2012 15:12:34.611 Information MP: entering1
15.02.2012 15:12:34.614 Information MP: processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
15.02.2012 15:12:34.616 Information SOAP: request message entering the adapter with user PI**
15.02.2012 15:12:34.620 Information SOAP: request message leaving the adapter (send)
15.02.2012 15:12:34.620 Information The application tries to send an XI message asynchronously using connection SOAP_http://sap.com/xi/XI/System.
15.02.2012 15:12:34.624 Information Trying to put the message into the send queue.
15.02.2012 15:12:34.676 Information SOAP: call completed
15.02.2012 15:12:34.676 Information SOAP: completed the processing
15.02.2012 15:12:34.676 Information Message successfully put into the queue.
15.02.2012 15:12:34.676 Information The application sent the message asynchronously using connection SOAP_http://sap.com/xi/XI/System. Returning to application.
15.02.2012 15:12:34.678 Information MP: leaving
15.02.2012 15:12:34.682 Information The message was successfully retrieved from the send queue.
15.02.2012 15:12:34.700 Information The message status was set to DLNG.
15.02.2012 15:12:34.922 Error Transmitting the message to endpoint https://<sid>.XXX:port/sap/xi/engine?type=entry using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Received HTTP response code 401 : Unauthorized.
15.02.2012 15:12:34.940 Information The message status was set to WAIT.
15.02.2012 15:12:34.941 Information The asynchronous message was successfully scheduled to be delivered at Wed Feb 15 15:17:34 CET 2012.
I can't say, why I get the 401-response.
From PI Message Monitoring: Monitor Messages I get following informations:
Message-ID MSG-ID
Richtung OUTBOUND
Message-Headers content-length=14391
http=POST
content-type=multipart/related; boundary=SAP_MSG-ID_END; type="text/xml"; start="<soap-MSG-ID[at]sap.com>"
Message-Typ Send
Verbindungsname SOAP_http://sap.com/xi/XI/System
Credential SAPPasswordCredential(PIAFUSER):password=********:sapclient=009:saplang=en:sapsysid=<SID>
Fehlerkategorie XI_J2EE_ADAPTER_XI_HANDLER
Fehlercode SEND_CONSUMER_ERROR
Statusdetails Messaging: allgemeiner Fehler
Quality-of-Service EO
Empfängerkomponente
Referenz-ID
Senderkomponente SENDER_COMP
Sequenz-ID
Serialisierungskontext
Status systemError
Einplanungszeit 2012-02-15 13:49:38.579
Start Time Wed Feb 15 13:34:37 CET 2012
Transport HTTPS
Gültig bis
Protokoll XI
Persistenz bis 2012-02-16 13:34:37.373
Endzeitpunkt Wed Feb 15 13:49:39 CET 2012
Anwendungskomponente
Softwarekomponente
Service-Definition
Wurde bearbeitet false
Any clues?
Many thanks in advance
HolgerHi Ravi,
it's the Java stack's port.
Hi Venkata,
1. Check whether service user maintained in the SM59 destination is with Roles of std. user PIAPPLUSER, PIISUSER
The Problem is, that the message is not processed in the PI. I don't see them at SXMB_MONI.
Today I see them on the RWB at the message-monitoring, but only because they are set after the 3rd try to send them to NDLV.
I can see the messages, after they are triggered, in the comm-channel-monitoring by selecting the appropriate channel.
2. Check XIAPPLUSER is having this Role -SAP_XI_APPL_SERV_USER
Checked the PIAPPLUSER is having this Role -SAP_XI_APPL_SERV_USER
3.May be wrong password for user PIISUSER.
There was a pwd-change in january, but the passwords are all correctly replaced.
Thank you for your help!
Holger -
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?
-
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. -
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,
JudeCan 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
] -
Content-Lengh Header Missing in Http Response
Hi folks,
Our application uses JSPs and Servlets. To solve a TCP level problem, 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,
SantoshAnyway, this works for me:
try {
URL u = new URL("http://localhost:9090/");
HttpURLConnection c = (HttpURLConnection) u.openConnection();
c.setInstanceFollowRedirects(false);
c.connect();
Map<String,List<String>> hs = c.getHeaderFields();
for(Map.Entry e : hs.entrySet()) {
System.out.println(e.getKey() + ": " + e.getValue());
} catch (Exception ex) {
ex.printStackTrace();
}Where on localhost:9090 I have a server that will issue a redirect on / and content on anything else.
This code will issue the request, then read the response headers, including the Location: header. -
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 -
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 missing in SOAP request
In Oracle Application Server, a SOAP request like :
POST /eai_esn/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&WSSoap=1 HTTP/1.1
SOAPAction: "document/http://siebel.com/marketing/import:MktgImportServiceInvokeImportJob"
User-Agent: Axis2
Host: 192.168.49.66:8093
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
a28
<?xml version='1.0' encoding='UTF-8'?>. . . . </soapenv:Envelope>
0
is rejected with an error like : "Missing body length ..."
However , a SOAP request like :
Content-Type: text/xml;charset=UTF-8
SOAPAction: "document/http://siebel.com/marketing/import:MktgImportServiceInvokeImportJob"
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 192.168.49.58:8093
Content-Length: 2602
<?xml ...... >
is accepted with no error .
Using Microsoft IIS, the first SOAP request without the 'Content-Length' is accepted just fine.
It looks like OAS requires SOAP header to have a "Content-Length" . Is this correct ? Is there a way to change this behavior ?
Thank you
Gabriel GonzalezHi,
The web service we are trying to communicate with is a third-party service that we have no control over. This service requires the name of the attribute to be in the content id field.
See section 3.8 of the following link
http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-2004-08-24.html
I seem to be able to set the name, description, contentType in the SOAP adapter module I have written - but I cannot set the content-Id.
Regards,
Bryan -
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 -
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. -
The following error occurs.
Welcome to the Exchange Management Shell!
Full list of cmdlets: Get-Command
Only Exchange cmdlets: Get-ExCommand
Cmdlets that match a specific string: Help *<string>*
Get general help: Help
Get help for a cmdlet: Help <cmdlet name> or <cmdlet name> -?
Show quick reference guide: QuickRef
Exchange team blog: Get-ExBlog
Show full output for a command: <command> | Format-List
Tip of the day #0:
Did you know that the Identity parameter is a "positional parameter"? That means you can use:
Get-Mailbox "user" instead of: Get-Mailbox -Identity "user"
It's a neat usability shortcut!
VERBOSE: Connecting to mail1.dorothy.local.
New-PSSession : [mail1.dorothy.local] Connecting to remote server mail1.dorothy.local failed with the following error
message : The WinRM client cannot process the request. It cannot determine the content type of the HTTP response from
the destination computer. The content type is absent or invalid. For more information, see the
about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ New-PSSession -ConnectionURI "$connectionUri" -ConfigurationName Microsoft.Excha ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
gTransportException
+ FullyQualifiedErrorId : -2144108297,PSSessionOpenFailed
Exception calling "GetComputerSite" with "0" argument(s): "The Specified directory object cannot be found."
At C:\Program Files\Microsoft\Exchange Server\V15\bin\ConnectFunctions.ps1:164 char:2
+ $localSite=[System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]::GetC ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ActiveDirectoryObjectNotFoundException
Failed to connect to an Exchange server in the current site.
Enter the server FQDN where you want to connect.: mail1.dorothy.local
VERBOSE: Connecting to mail1.dorothy.local.
New-PSSession : [mail1.dorothy.local] Connecting to remote server mail1.dorothy.local failed with the following error
message : The WinRM client cannot process the request. It cannot determine the content type of the HTTP response from
the destination computer. The content type is absent or invalid. For more information, see the
about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ New-PSSession -ConnectionURI "$connectionUri" -ConfigurationName Microsoft.Excha ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
gTransportException
+ FullyQualifiedErrorId : -2144108297,PSSessionOpenFailed
Randy CheekGood Morning,
Log into the server with an account that has appropriate Exchange rights, not a local account.
Note: By default - Domain Admins don't have Exchange rights.
Dame Luthas, ITILv3, MCSE Messaging 2013, MCSA, MCITP
My Technical Blog: http://thelifestrategist.wordpress.com
Discipline is the Difference between Goals and Accomplishments
If this post is useful, please hit the green arrow on the left & if this is the answer hit "mark as answer" -
How to change the HTTP Response as XML (Content Type "text\xml") ?
Hi Friends ,
I have created one RFC Destination TYPE H . When i am trying to post some XML Message to that particular HTTP Service using POST method . It succesfully accepted the XML File but , it is returning the String as " OK" . In the connection test trace i have seen the Content Type as "text/html" but * I need to get as "text\xml" .*
I need to get response back as XML not plain text .
1 Any Configuration setting do we need to do on Service (SICF ) ?
2. Or any other place we need to modify to get the HTTP Response as XML not plain text
Can you please help to solve the problem . Any clue ?
Thanks & Regards.,
V.Rangarajan
Edited by: ranga rajan on Jan 2, 2008 2:07 PMDear users,
we have requirement sending SMS to the customers mobiles. I am successfully sending the messages to the customers mobiles by using the above method. Facing issues with response message. The response messages is in plain text fromat in single line like...Sent
Using HTTP_AAE Receiver adapter.
The response message was failed while excution of the message mapping with the error
Mapping failed in runtimeRuntime Exception when executing application mapping program com/sap/xi/tf/_MM_SMS_CUST_RES_; Details: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Content is not allowed in prolog.
please share the comments how to pass the Status of the message to SAP ECC from SAP HTTP adapter
Regards,
Sudir.
Maybe you are looking for
-
Windows Server 2008 SP2 bluescreen, help me to decrypt the windbg rapport
I got a bluescreen like 5 times a week on a windows 2008 SP2 Server : Stuff installed on it : Arcserv 12.0 SP2 (old backup software) using SQL Server 2005. Motorola scanner software (dunno exactly how it works but it communicates with SAP). I know it
-
Hi I need to generate a refreshed line chart that will have only Y cordinates (the X axis is just the samples number....) and there are two different lines in my chart. I am searching for a free toturial or exaples ect.... Please if you have any info
-
I was told by chat support that touch support was not included in the trial of photoshop cc. I purchased subscription and it was still not there. When I contacted support about this they said it would not be there until payment was processed. Afte
-
WRV210 port forwarding only works on http!!!
I'm trying to use SSH port forwarding, and VNC on the future. Right now the only one that is working is http. I have enable both HTTP and SSH over two different PCs, and only the http one is working. We already have version 2.0.0.11. Also tried DMZ t
-
Dear all....I need to convert all columns into rows in a table. For example table has following columns: Emp_Cod........Val1......Val2......Val3 1 a b c Now I wish that each column should display as a value like: Emp_Cod........Val1 1 a 1 b 1 c Now t