jQuery in Action, 3rd edition
The moose likes Web Services and the fly likes Invoking webservice- Server returned HTTP response code: 500 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "Invoking webservice- Server returned HTTP response code: 500" Watch "Invoking webservice- Server returned HTTP response code: 500" New topic

Invoking webservice- Server returned HTTP response code: 500

purnima Nair

Joined: Oct 23, 2008
Posts: 8
I am trying to invoke webservice from jsp.
URL url = new URL(SOAPUrl);
URLConnection connection = url.openConnection();
HttpURLConnection httpConn = (HttpURLConnection) connection;

byte[] b = reqXml.getBytes();

httpConn.setRequestProperty( "Content-Length",
String.valueOf( b.length ) );
httpConn.setRequestProperty("Content-Type","text/xml; charset=utf-8");
httpConn.setRequestMethod( "POST" );

OutputStream out2 = httpConn.getOutputStream();
out2.write( b );


// Read the response and write it to standard out.
InputStreamReader isr =new InputStreamReader(httpConn.getInputStream());

When it reaches the above line httpConn.getInputStream() it throws the error
java.io.IOException: Server returned HTTP response code: 500 for URL:
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313)

Due to this,response is not generated and webservice methods are not called.What could be wrong?Please help.

Purnima Nair
William Brogden
Author and all-around good cowpoke

Joined: Mar 22, 2000
Posts: 13036
Problem may be this line

You should never close a connection until you have also handled the matching input stream. You can flush() to ensure the entire request is sent.

The close will close both sides of the connection.
Anna T Smith

Joined: Jun 05, 2013
Posts: 1
The problem is not this line:

The problem can be the SOAP action or the message you are sending.

You can try checking the response code before reading the actual connection input stream (connection.getResponseCode()) and if the response code is not 200 (OK) then instead of the input stream read the connection error stream for more details (connection.getErrorStream()).

I agree. Here's the link: http://aspose.com/file-tools
subject: Invoking webservice- Server returned HTTP response code: 500
It's not a secret anymore!