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" <***@gmail.com>
To: "Sterpu Victor" <***@caido.ro>
Cc: "java-user" <java-***@axis.apache.org>
Sent: 24/11/2016 11:39:32 PM
Subject: Re: Re[6]: HTTP :unsupported content-encoding of '' found
Post by Andreas VeithenPost by Sterpu VictorI 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.
Post by Sterpu VictorDown 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
"core.des.uti.ro/StoreClinicalDocument/storeClinicalDocumentSRequest"
$WSPR: HTTP/1.1
User-Agent: Axis2
***************************************************************************************************
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
*****************************************************************************************
$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 ------
Sent: 19/11/2016 7:58:50 PM
Subject: Re: Re[4]: HTTP :unsupported content-encoding of '' found
Post by Andreas VeithenYou could submit a patch to Axis2 to ignore empty Content-Encoding
headers.
Andreas
Post by Sterpu VictorI 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 ------
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
Content-Encoding = "Content-Encoding" ":" 1#content-coding
I.e. an empty value is not allowed, so this is a server side
problem.
Andreas
Post by Sterpu VictorYes, 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?
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
"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-Language: en-US
X-Archived-Client-IP: ****
------ Original Message ------
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
Post by Sterpu VictorHTTP
: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?
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)
"_operationClient.execute(true);"
Thank you.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-***@axis.apache.org
For additional commands, e-mail: java-user-***@axis.apache.org