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�phane

    Maby 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
    Holger

    Hi 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,
    Santosh

    Anybody?

  • 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,
    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
    ]

  • 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,
              Santosh

    Anyway, 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.
    Thanks

    Disable 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 Testing 

    Hi,
    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 Gonzalez

    Hi,
    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
    Lutz

    Hi 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
    Harry

    Hi, 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.

  • 2013 Exchange, Can't connect to Exchange Management Shell. It cannot determine the content type of the HTTP response from the destination computer.

    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 Cheek

    Good 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 PM

    Dear 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

  • JFreeChart - line chart

    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 purchased the subsciption for photoshop cc but it is missing touch support option under experimental preferences.

    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

  • Converting columns into rows

    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