aspose file tools*
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
Author

Invoking webservice- Server returned HTTP response code: 500

purnima Nair
Greenhorn

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.setRequestProperty("SOAPAction",SOAPAction);
httpConn.setRequestMethod( "POST" );
httpConn.setDoOutput(true);
httpConn.setDoInput(true);

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

out2.close();

// 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.

Regards,
Purnima Nair
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12781
    
    5
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
Greenhorn

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