You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Shehzad Tahir Nagi <sh...@levelelimited.com> on 2007/01/16 21:24:22 UTC

Calling WS from a WS

Hello,

I am really new to the whole world of Web Services and Axis. I have a
particular problem about calling a web service from another web service
both written in Java. One web Service is a "Caching Service" and the
other one is a "Data Controller Service". In the basic flow of
program(which should happen but doesnt), an language independent client
interacts with Data Controller Service to write some data in Caching
system. It uses a write method present on the Controller Service. This
method passes on the request with the storage data to the caching web
service. Caching webservice has a storage function(putCacheObject)  in
it which is visible through web service. 

Now since once the user sends his request, he doesnt have to wait for
the completion of the service therefore one-way message passing is used
with RPCInOnlyMessageReceiver receiver. So therefor both the visible
write functions are called with ServiceClient.fireAndForget() function.
Thread Sleep is used to proper accomplishment of the functions.

Problem:
Now when the system is test by keeping the Caching Service online and
the Controller service as a client program with a MAIN function test
class in it, the data is stored and retrieved correctly. Storage is done
with fireAndForget function.

Now the Data Controller Service is taken online so we have two web
services running. An external client is used to call the write function
on the Data Controller Web Service. the client calls the storage write
function with the data in it and passes the whole data packet properly
into the web service. But when Controller Service goes to call the
Caching service, is doesnt call the proper function or doesnt call the
Caching service without giving any exceptions at all. Few things in my
mind related to this situation are:
* if the link between the Controller Service and the Caching Service has
some problem in it, the Test Command line program would have raised some
kind of error but infact it produced good results.
*It might be the case that the ServiceClient on the Controller service
is taking some wrong parameters, But i dont know how to check it.
* I also tried placing both of these Services in separate axis2
installations but even then it produced incorrect output.

I need some ideas how to correct the problem with call a web service
with in a web service.

Thanks alot in advance.


-- 
Shehzad Tahir Nagi
Level E Limited,UK


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: Calling WS from a WS

Posted by Deepal Jayasinghe <de...@opensource.lk>.
Hi  Shehzad ;
Try , sendRobust method in ServiceClient.

Thanks
Deepal

>Hello,
>
>I am really new to the whole world of Web Services and Axis. I have a
>particular problem about calling a web service from another web service
>both written in Java. One web Service is a "Caching Service" and the
>other one is a "Data Controller Service". In the basic flow of
>program(which should happen but doesnt), an language independent client
>interacts with Data Controller Service to write some data in Caching
>system. It uses a write method present on the Controller Service. This
>method passes on the request with the storage data to the caching web
>service. Caching webservice has a storage function(putCacheObject)  in
>it which is visible through web service. 
>
>Now since once the user sends his request, he doesnt have to wait for
>the completion of the service therefore one-way message passing is used
>with RPCInOnlyMessageReceiver receiver. So therefor both the visible
>write functions are called with ServiceClient.fireAndForget() function.
>Thread Sleep is used to proper accomplishment of the functions.
>
>Problem:
>Now when the system is test by keeping the Caching Service online and
>the Controller service as a client program with a MAIN function test
>class in it, the data is stored and retrieved correctly. Storage is done
>with fireAndForget function.
>
>Now the Data Controller Service is taken online so we have two web
>services running. An external client is used to call the write function
>on the Data Controller Web Service. the client calls the storage write
>function with the data in it and passes the whole data packet properly
>into the web service. But when Controller Service goes to call the
>Caching service, is doesnt call the proper function or doesnt call the
>Caching service without giving any exceptions at all. Few things in my
>mind related to this situation are:
>* if the link between the Controller Service and the Caching Service has
>some problem in it, the Test Command line program would have raised some
>kind of error but infact it produced good results.
>*It might be the case that the ServiceClient on the Controller service
>is taking some wrong parameters, But i dont know how to check it.
>* I also tried placing both of these Services in separate axis2
>installations but even then it produced incorrect output.
>
>I need some ideas how to correct the problem with call a web service
>with in a web service.
>
>Thanks alot in advance.
>
>
>  
>




---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org