Hi All,

I am new to AXIS2 webservice implementation. I would like to implement
webservice which has in-out type but should be treated as asynchronously. To
do this i have done following change on service side:

   - Update MessageReceiverInOut class with following

*
public* *void* receive(*final* org.apache.axis2.context.MessageContext
messageCtx) *throws* AxisFault {
messageCtx.setProperty(*DO_ASYNC*, Boolean.*TRUE*);
*super*.receive(messageCtx);
}

ws-addressing was supported on both server and client. Client code is look
like as below, Please note that client stub was generated from the WSDL
using WSDL2Java (AXIS2):

UserDataProcessWebService_v1_0Stub stub = new
UserDataProcessWebService_v1_0Stub();
stub._getServiceClient().getOptions().setReplyTo(new EndpointReference(
http://localhost:8080/qwe));
stub._getServiceClient().getOptions().setUseSeparateListener(true);
stub._getServiceClient().engageModule(Constants.MODULE_ADDRESSING);

Header of SOAP request is look like :
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing";>
  <wsa:To>
http://localhost:8080/UserDataProcessV1/services/UserDataProcessWebService_v1_0/
  </wsa:To>
  <wsa:ReplyTo>
   <wsa:Address>http://localhost:8080/qwe</wsa:Address>
  </wsa:ReplyTo>
  <wsa:MessageID>urn:uuid:08693C529929B257A11298278246242
  </wsa:MessageID>
  <wsa:Action>
http://xmlns.telenet.be/services/network/CNI/v1/UserDataProcess_v1_0/processUserDataRequest
  </wsa:Action>
 </soapenv:Header>

Now on server side in class org.apache.axis2.receivers.AbstractMessageReceiver
for method receive for line EndpointReference replyTo =
messageCtx.getReplyTo(); is giving NULL value and i m not able to achieve
the async behavior.

I am using Apache Tomat6 to host the serice and Apache AXIS2 1.5.

Please let me know if you need more information.
Please guide me if i have missed anything.

Cheers,
Nishant

Reply via email to