Hello Chamikara,

Chamikara Jayalath schrieb:
Hi Jens,

Jens Goldhammer wrote:
Hello wso2 userlist,

It´s my first post here, so I hope my questions are clear and welcome :-).

After a hard configuration fight with Axis2 and jms, I get a simple example working where the client put a message on a activemq queue and the service listens to that queue, puts the message on an other queue and the client gets the message. (see http://wso2.org/forum/thread/3111) There are some open questions I have posted in the axis2 user forum (http://www.nabble.com/further-questions-to-Axis2-and-JMS-to15241641.html). Maybe you know the answer, too?

Now I am trying to do this stuff with Axis2 /http/ws-rm. I take the client from the example with jms. I have followed the configuration guide shipped with Sandesha2 1.3.
After 20 minutes it is working with http and ws-rm...

I have following ongoing questions:

1. What is happening if I don´t close the sequence by setting lastMessage in the client? If you look in the attached zip-file, you can see two log files. The file client_messages.xml shows that the client tries several times to establish a connection to the server by sending a makeConnection-message. The server acks this with a 202-response. What does that mean? In the second file good_conversation.xml the conversations end by sending a terminateSequence-message from the client which is accepted by the server. I think this looks good...

The make connection message tries to grab any message pending in the server. But in this case there were not any.
Ok, this makes sense in my eyes now.

You have to mark your final message with the LastMessage tag to terminate the message exchange smoothly.
Yes, I used that too, but I have wondered if there is no other possiblity?

2. How is the best approach to get a response from the server after sending it a request and the client terminates after the request without getting the response. How can I get the pending messages from the server? Do I have to take the used sequence-ID to make a conversation with the server? In my eyes it is the same problem like axis2/jms :-)
This can be done only with a persistent RM storage. We still do not have a full working one. An experimental one is available at,
https://wso2.org/repos/wso2/trunk/commons/sandesha2-persistence/.
What does experimental imply? Can I get it working? Is there any documentation online? Does anybody work on it? Maybe it is very helpful to have it on the wso2 esb. Is there any control mechanism to say the esb as rm source that the service as rm destination is online and the esb should get all pending messages of the service? That would be a great feature in my eyes... The esb than can handle the messages and wait for another rm source, a service client, which asks for the pending messages on the esb... Maybe you can show me a coding example how to get all messages from the server on client side?



3. How is the best approach to generate a sequence-id? At the moment I have to put it manually in the message by setting the property because I use a synchronous invocation...

What you specify in the client is not the actual sequence ID. It is something called a SequenceKey which is used to identify messages that belong to different sequences. Actual sequenceID get generated by Sandesha2.
Ok. I know that every sequence has to have a unique identifier. I think this is the sequenceID. But what is the sequenceKey? Maybe it marks the first initial identifier value of the rm source request? In TCPMon-log I only see that the first message with an offer statement has my set property... the response instead has a new identifier.

1. request
           <wsrm:Offer>
              <wsrm:Identifier>test3</wsrm:Identifier>
              <wsrm:Endpoint>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
              </wsrm:Endpoint>
           </wsrm:Offer>
1.response

<wsrm:CreateSequenceResponse xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702";> <wsrm:Identifier>urn:uuid:ED2375C5775467DED01201955723589</wsrm:Identifier>
           <wsrm:Accept>
              <wsrm:AcksTo>
<wsa:Address>http://192.168.88.1:8180/esbQueueService/services/QueueService</wsa:Address>
              </wsrm:AcksTo>
           </wsrm:Accept>
        </wsrm:CreateSequenceResponse>



Maybe you can give me some links according ws-rm in general. I know there is the spec- maybe you have a shorter version :-) A video tutorial would be great...
Hope you went through Sandesha2 architecture and user guides. There are some stuff in WSO2 Oxygen Tank (wso2.org) as well. No video tutorials yet though :-(
Ok, thanks for the hints.


Thanks,
Chamikara


Thanks,
Jens


Thanks in advance for your effort.
Jens Goldhammer











------------------------------------------------------------------------

_______________________________________________
Esb-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user

------------------------------------------------------------------------

_______________________________________________
Esb-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user

_______________________________________________
Esb-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user

Reply via email to