This is like a summery of all answers above along with additional reference.
As mentioned by user3405529 follow the link and understand your problem.
Merchants using the HTTP 1.0 protocol.
This is common for all who are using old PayPal API with axis 1.4
This is the problem in my project.
I referred this link for more details to understand and solve the problem
http://marc.info/?l=axis-user&m=119144869612056
There are four ways to solve this
1)Modify axis source code to use HTTP 1.1 protocol
String httpver = msgContext.getStrProp(MessageContext.HTTP_TRANSPORT_VERSION);
if (null == httpver) {
httpver = HTTPConstants.HEADER_PROTOCOL_V11;
}
//httpver = httpver.trim();
//if (httpver.equals(HTTPConstants.HEADER_PROTOCOL_V11)) {
// http10 = false;
//}
OR
Set Message Context msgContext.setStrProp(..) as HTTPConstants.HEADER_PROTOCOL_V11
Then rebuild axis and maintain your own source code for reference
2)As per user3405529 use client-config.wsdd in classpath with
java:org.apache.axis.transport.http.CommonsHTTPSender in transport
tag
I tested with this changes and it is working as expected.
But both the approaches use HTTP 1.1 by default. In our project as we are not prepared for this change of HTTP protocol version.
see more details at http://www2.research.att.com/~bala/papers/h0vh1.html
3)Update the PayPal stub and rebuild it for use - I do not try it.
4)Update the PayPal SDK to latest version...
We go with updated PayPal SDK. It will be helpful in future.
I hope it is helpful