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