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" <andreas.veit...@gmail.com>
To: "Sterpu Victor" <vic...@caido.ro>
Cc: "java-user" <java-user@axis.apache.org>
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 <vic...@caido.ro> 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" <andreas.veit...@gmail.com>
 To: "Sterpu Victor" <vic...@caido.ro>
 Cc: "java-user" <java-user@axis.apache.org>
 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 <vic...@caido.ro> 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" <andreas.veit...@gmail.com>
  To: "Sterpu Victor" <vic...@caido.ro>
  Cc: "java-user" <java-user@axis.apache.org>
  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" <vic...@caido.ro> 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" <andreas.veit...@gmail.com>
  To: "Sterpu Victor" <vic...@caido.ro>; "java-user"
  <java-user@axis.apache.org>
  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" <vic...@caido.ro> 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.





---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
For additional commands, e-mail: java-user-h...@axis.apache.org

Reply via email to