cancel
Showing results for 
Search instead for 
Did you mean: 

error calling a webservice from one server process of the cluster

Former Member
0 Kudos

Hi ,

I have a servlet which on startup makes a call to a webservice. I deploy this webapp on the cluster.

The cluster has two instances each instance having one server process.

So when the server restarts one server process on one instance calls the web service the other process on other instance fails with a 503 response code.

When I tried to reproduce the same problem using two server processes on the same instance both processes are able to call the webservice properly.

I am slightly confused as to how different the second scenario is from first one as both are individual server process and may or may not run on same instance.

Can anyone tell me the real cause.

Rgds

Shashank

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Shashank

If you have a scenario like you have a CI and dialog one or more dialog instances.Then if you deploy the app on CI and call it from any of your dialog instances.It should work.

What you explained in the second case it very obvious coz its on the same CI you are deploying and calling the app.So it has to work.The first scenario which you explained is a little unclear to me.Need to have more info on that.

Hope this explanation helps you .If you have any speacific question feel free to ask.

Award suitable points

Former Member
0 Kudos

Thx Rajat,

The first scenario says that there are two instances one a CI and another a Java Dialog instance each having one server process. When the instances start the application servlet is loaded and it makes a call to a Webservice. So this WS call has to happen from both instances.

But one instance fails to call the WS with a 503 response code..

But in case if I have two server processes on the same instance the call is getting made by both processes

Rgds

Shashank

Former Member
0 Kudos

Hi Shashank

Then we must see the default.trc.This is the place where we can get a clue why the call is failing.You can start the process and copy paste the latest default.trc file.

Former Member
0 Kudos

Hi Rajat,

This is how the default trace looks

FATAL: Application Servlet failed to notify devices.

Caught java.rmi.RemoteException: Service call exception; nested exception is:

com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (503) Service Unavailable. The requested URL was:"http://<<server>>:50000/ManagementService/ManagementService?style=document"

at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1289)

at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1298)

at com.om.ApplicationServlet$NotifyDevices.run(ApplicationServlet.java:86)

Caused by: com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (503) Service Unavailable. The requested URL was:"http://<<server>>:50000/ManagementService/ManagementService?style=document"

at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.handleResponseMessage(MimeHttpBinding.java:980)

at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.call(MimeHttpBinding.java:1430)

at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1282)

... 2 more

java.lang.NoSuchMethodError

at java.lang.Thread.destroy(Thread.java:779)

at com.omApplicationServlet$NotifyDevices.run(ApplicationServlet.java:92)

Rgds

Shashank