Re[8]: HTTP :unsupported content-encoding of '' found

"Sterpu Victor" <[email protected]>
Newsgroups gmane.text.xml.axis.user
Message-ID <emc374f360-d62c-45f6-a03b-1438fd4ee89f@victor-pc>
This heappens in isolated cases, in thye last 5 days I have 14 such 
errors out of 900 SOAP calls.
This is not a Axis2 problem, http client 3 has the problem and is 
somehow triggered by this weird header and content received from the 
server.
I mean all the majority of the response headers that came from the 
server do not contain a content-encoding and I don't receive this error.
The error appears only when server replies with my original content and 
when the server includes a lot of unnecessary header fields.

Anyway I think the simpliest solution is to recompile the 
axis2-transport-http-1.7.3.jar and change the lines where the exception 
is throwed(simply set contentEncoding = identity when contentEncoding 
='').

  protected void processResponse(HttpResponse response, MessageContext 
msgContext)
             throws IOException {
         obtainHTTPHeaderInformation(response, msgContext);

         HttpEntity httpEntity = response.getEntity();
         InputStream in = httpEntity.getContent();
         if (in == null) {
             throw new AxisFault(Messages.getMessage("canNotBeNull", 
"InputStream"));
         }
         Header contentEncoding = httpEntity.getContentEncoding();
         if (contentEncoding != null) {
             if 
(contentEncoding.getValue().equalsIgnoreCase(HTTPConstants.COMPRESSION_GZIP)) 
{
                 in = new GZIPInputStream(in);
                 // If the content-encoding is identity we can basically 
ignore
                 // it.
             } else if 
(!"identity".equalsIgnoreCase(contentEncoding.getValue())) {
                 throw new AxisFault("HTTP :" + "unsupported 
content-encoding of '"
                                     + contentEncoding.getValue() + "' 
found");
             }
         }

         OperationContext opContext = msgContext.getOperationContext();
         if (opContext != null) {
             opContext.setProperty(MessageContext.TRANSPORT_IN, in);
         }
     }

------ Original Message ------
From: "Andreas Veithen" <[email protected]>
To: "Sterpu Victor" <[email protected]>
Cc: "java-user" <[email protected]>
Sent: 24/11/2016 11:39:32 PM
Subject: Re: Re[6]: HTTP :unsupported content-encoding of '' found

>On Thu, Nov 24, 2016 at 8:43 PM, Sterpu Victor <[email protected]> wrote:
>>  I followed the answers from the server fo a few days and found that
>>  sometimes the server sends no Content-Encoding and I still get this 
>>error -
>>  "HTTP :unsupported content-encoding of ''".
>
>I doubt that. If that was the case, then Axis2 would fail in the vast
>majority of standard use cases.
>
>>  Down there is a header received from the server with this error and 
>>without
>>  Content-Encoding. Why is Axis assuming an empty Content-Encoding when 
>>the
>>  headers contain no Content-Encoding?
>>  The answer contains a Authorization field that should not be present 
>>in the
>>  server response.
>>  I don't know why but everytime when I receive "unsupported 
>>content-encoding"
>>  the response header contains a Authorization field,  a OSCP_RESPONSE 
>>and a
>>  lot of other fields that are not in a usual SOAP response.
>>
>>  HTTP/1.1 200 OK
>>  X-Backside-Transport: OK OK
>>  Connection: Keep-Alive
>>  Date: Sun, 20 Nov 2016 13:23:53 GMT
>>  X-Powered-By: Servlet/3.0
>>  SOAPAction:
>>  "core.des.uti.ro/StoreClinicalDocument/storeClinicalDocumentSRequest"
>>  $WSPR: HTTP/1.1
>>  User-Agent: Axis2
>>  x509:
>>  
>>***************************************************************************************************
>>  Host: ws.des-cnas.ro
>>  _WS_HAPRT_WLMVERSION: -1
>>  $WSIS: false
>>  Surrogate-Capability: WS-ESI="ESI/1.0+"
>>  Via: 1.1 BwAAAKxf0QA-
>>  $WSRA: 172.30.8.82
>>  OSCP_RESPONSE:
>>  
>>*****************************************************************************************
>>  $WSSC: http
>>  X-Client-IP: 89.43.152.14,89.43.152.14
>>  serial: *********************************************************
>>  $WSRH: 172.30.8.82
>>  Expect: 100-Continue
>>  Authorization: Basic
>>  ************************************************************
>>  issuer: C=RO, O=certSIGN, OU=certSIGN Qualified CA Class 3 G2, 
>>CN=certSIGN
>>  Qualified CA Class 3 G2
>>  $WSSN: ***********
>>  $WSSP: 80
>>  Content-Type: text/xml
>>  Content-Language: en-US
>>  X-Archived-Client-IP: *******************
>>  Content-Length: 14813
>>
>>  ------ Original Message ------
>>  From: "Andreas Veithen" <[email protected]>
>>  To: "Sterpu Victor" <[email protected]>
>>  Cc: "java-user" <[email protected]>
>>  Sent: 19/11/2016 7:58:50 PM
>>  Subject: Re: Re[4]: HTTP :unsupported content-encoding of '' found
>>
>>>  You could submit a patch to Axis2 to ignore empty Content-Encoding
>>>  headers.
>>>
>>>  Andreas
>>>
>>>  On Sat, Nov 19, 2016 at 5:15 PM, Sterpu Victor <[email protected]> 
>>>wrote:
>>>>
>>>>   I don't control the server, so I need a client side solution.
>>>>   Could I set a default content encoding if the server is not 
>>>>sending one?
>>>>
>>>>   Thank you.
>>>>
>>>>   ------ Original Message ------
>>>>   From: "Andreas Veithen" <[email protected]>
>>>>   To: "Sterpu Victor" <[email protected]>
>>>>   Cc: "java-user" <[email protected]>
>>>>   Sent: 19/11/2016 7:04:16 PM
>>>>   Subject: Re: Re[2]: HTTP :unsupported content-encoding of '' found
>>>>
>>>>
>>>>   According to the HTTP/1.1 specification the Content-Encoding 
>>>>header must
>>>>   have the following form:
>>>>
>>>>   Content-Encoding = "Content-Encoding" ":" 1#content-coding
>>>>
>>>>   I.e. an empty value is not allowed, so this is a server side 
>>>>problem.
>>>>
>>>>   Andreas
>>>>
>>>>
>>>>   On Nov 19, 2016 4:30 PM, "Sterpu Victor" <[email protected]> wrote:
>>>>>
>>>>>
>>>>>   Yes, I traced everything with fiddler.
>>>>>   I can now see that "Content-Encoding: " is not defined. If this 
>>>>>is the
>>>>>   reason can I safely ignore this error?
>>>>>   This is the raw header:
>>>>>
>>>>>   HTTP/1.1 200 OK
>>>>>   X-Backside-Transport: OK OK
>>>>>   Connection: Keep-Alive
>>>>>   Transfer-Encoding: chunked
>>>>>   Date: Sat, 19 Nov 2016 16:08:44 GMT
>>>>>   X-Powered-By: Servlet/3.0
>>>>>   SOAPAction:
>>>>>   
>>>>>"core.des.uti.ro/StoreClinicalDocument/storeClinicalDocumentSRequest"
>>>>>   $WSPR: HTTP/1.1
>>>>>   User-Agent: Axis2
>>>>>   x509: ********************
>>>>>   Host: ws.des-cnas.ro
>>>>>   _WS_HAPRT_WLMVERSION: -1
>>>>>   $WSIS: false
>>>>>   Surrogate-Capability: WS-ESI="ESI/1.0+"
>>>>>   Via: 1.1 AQAAAEZVhAE-
>>>>>   $WSRA: 172.30.8.81
>>>>>   OSCP_RESPONSE: *****************
>>>>>   $WSSC: http
>>>>>   X-Client-IP: ****
>>>>>   serial: ******************
>>>>>   $WSRH: 172.30.8.81
>>>>>   Expect: 100-Continue
>>>>>   Authorization: Basic ***************************************
>>>>>   issuer: C=RO, O=certSIGN, OU=certSIGN Qualified CA Class 3 G2,
>>>>>  CN=certSIGN
>>>>>   Qualified CA Class 3 G2
>>>>>   $WSSN: ws.des-cnas.ro
>>>>>   $WSSP: 80
>>>>>   Content-Type: text/xml
>>>>>   Content-Encoding:
>>>>>   Content-Language: en-US
>>>>>   X-Archived-Client-IP: ****
>>>>>
>>>>>
>>>>>   ------ Original Message ------
>>>>>   From: "Andreas Veithen" <[email protected]>
>>>>>   To: "Sterpu Victor" <[email protected]>; "java-user"
>>>>>   <[email protected]>
>>>>>   Sent: 19/11/2016 6:04:04 PM
>>>>>   Subject: Re: HTTP :unsupported content-encoding of '' found
>>>>>
>>>>>
>>>>>   Can you show us the HTTP headers of the response?
>>>>>
>>>>>   Andreas
>>>>>
>>>>>
>>>>>   On Nov 19, 2016 3:45 PM, "Sterpu Victor" <[email protected]> wrote:
>>>>>>
>>>>>>
>>>>>>   I' receiving the error: Caused by: org.apache.axis2.AxisFault: 
>>>>>>HTTP
>>>>>>   :unsupported content-encoding of '' found
>>>>>>   The SOAP call runs fine on the server, but on the client side 
>>>>>>this
>>>>>>  error
>>>>>>   appears.
>>>>>>   How can I fix this? I could catch this exception and consider 
>>>>>>that the
>>>>>>   call is fine, but can I fix it in another way?
>>>>>>
>>>>>>   This is the whole stack trace:
>>>>>>   Caused by: org.apache.axis2.AxisFault: HTTP :unsupported
>>>>>>  content-encoding
>>>>>>   of '' found
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl.processResponse(HTTPSenderImpl.java:476)
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl.handleResponse(HTTPSenderImpl.java:311)
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl.sendViaPost(HTTPSenderImpl.java:213)
>>>>>>    at
>>>>>>  
>>>>>>org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:121)
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:403)
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:234)
>>>>>>    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:431)
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:399)
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>org.apache.axis2.client.OperationClient.execute(OperationClient.java:150)
>>>>>>    at
>>>>>>
>>>>>>  
>>>>>>stubs.StoreClinicalDocument.client.StoreClinicalDocumentStub.storeClinicalDocumentS(StoreClinicalDocumentStub.java:377)
>>>>>>
>>>>>>   In StoreClinicalDocumentStub.java, at the line 377 I have:
>>>>>>   "_operationClient.execute(true);"
>>>>>>
>>>>>>   Thank you.
>>>>>>
>>>>>>
>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.