Yes Brian ,but my first problem is to address problems when a web server goes down ,and figure a way to not loose requests which are in process,so the clients can have a response even if it is from another endpoint. when a web server goes down ,another hosted in another machine,will takes his place(designed as the primary)it will : 1-Update the endpoint reference in the repository(uddi,membrane,..etc) so he will be requested by the future clients. 2-Continue processing the requests not accomplished by the server who was down.
2013/8/3 Brian Reinhold <[email protected]> > Walid,**** > > ** ** > > Sounds involved. Could the same be accomplished using the WS reliable > messaging protocol (Sandesha project in the Axis2/Apache hierarchy)? Would > be almost no work; just add the module in your Axis2 xml. The main > difference (I think) from your proposal is that this protocol is still > point to point. Should an endpoint go down during a transaction it could > not be completed until the endpoint came back up. But at least there > wouldn’t be all this duplication of resources and multiple databases. But I > suppose you have probably looked at this.**** > > ** ** > > Brian**** > > ** ** > > *From:* Walid Benkhelouf [mailto:[email protected]] > *Sent:* Saturday, August 03, 2013 3:09 PM > *To:* [email protected] > *Subject:* Re: retrieving message_id**** > > ** ** > > hi brian,**** > > ** ** > > My goal is to achieve fault tolerance using replication in web services,** > ** > > ** ** > > -->I have a set of web services containers interconnected via a private > p2p network ,which are communicating with a specific protocol(the main > problematic of the project).**** > > ** ** > > -->When a problem occur(one server goes offline or restart),this problem > is detected by one of his neighbors which contains identical copies of > it's web services ,it will retrieve the uncomplicated tasks and return > them to the clients.**** > > ** ** > > -->To achieve this goal,every node of the network (so the server) is > notifying his incoming request to his neighbors ,so when the request is > delivered he(the server) notify it again and the requests will be dropped > from the databases.**** > > ** ** > > -->This database is located in every node of the network ,it contains > information about the current tasks in the neighborhood ,stored in one > table: [msg_ID,Client add,Request].the message_id is the auto-incremented > key retrieved from the database(when a message is inserted).**** > > **** > > -->So the purpose for which i want to use messageID is exclusively for the > server side ,tracing in/out message is only used for storing requests > properly ,what do you think about the approach Brian?**** > > ** ** > > Walid**** > > ** ** > > 2013/8/3 Brian Reinhold <[email protected]>**** > > This one is a little tougher because it is not based upon protocol. You > want to maintain some kind of internal tracker. Clearly Axis2 does this > since it is able to generate a response to an incoming message. Thus it > must have something that tracks it (which may be based upon protocol). > However, setting the message Id is probably not a reliable way. The > messageID is part of the ws-addressing protocol. The message context object > is used by both clients and servers so the ‘set’ method is probably meant > for the client; setting it on the server side is likely ignored as Axis2 > constructs the ws-addressing response based upon protocol and who knows > where it stores its internal information (it may make a copy and pass that > up to the user; that way Axis2 is sure to respond to the protocol correctly > which it can’t do if the user corrupts the incoming message context).**** > > **** > > Without protocol, how are you intending to identify the incoming message > as one that you want to filter? As I understand your goal, you want to > block the response to certain incoming messages.**** > > **** > > Brian**** > > **** > > *From:* Walid Benkhelouf [mailto:[email protected]] > *Sent:* Friday, August 02, 2013 9:00 PM**** > > > *To:* [email protected] > *Subject:* Re: retrieving message_id**** > > **** > > Hi Brian,sorry for my misunderstanding :-)**** > > The solution that i'm developing (for academic purpose)is located in the > handlers levels,so i'm trying to be the most transparent as possible to the > client and the service writer ,so for this I've written two handlers one > for incoming and one for outgoing putted in an AXIS2 module.**** > > For now i was able to address the problem by activating "ws-addressing"in > the client side(and let the message_id blank), so when the message is > intercepted by the "incoming_handler",it will set the message_id "manually" > msgctx.setMessageID (a random key).**** > > The outgoing handler can access to this value by "msgctx.getRelatesTo()).* > *** > > it's addressing my problem when "ws_addressing"is activated in the client > side.**** > > But i was looking for a "more general"solution that can address the > problem where the client don't have the ws_addressing activated in the > request.**** > > Best Regards!**** > > **** > > 2013/8/3 Brian Reinhold <[email protected]>**** > > Walid,**** > > **** > > I think you misunderstood my American slang comment and took it the wrong > way (it’s kind of an expression); I am not saying that YOUR question was > stupid. If you look below you will see *I am asking the ‘stupid’ > question*which was “did you check to see if the client sent you a message > id?”. If > it hadn’t, you looking for something that didn’t exist and there was never > anything wrong with your logic or code!**** > > **** > > Now if I understand you correctly, the client did NOT have a message ID > and you were able to add one. So now you are getting the message id at > least on the incoming. But NOT on the outgoing. Is that correct?**** > > **** > > If so, the outgoing maybe a lot more difficult. I have had some issues > with the ws addressing headers on the response. I do not know if it > affecting your results.**** > > **** > > Can you show the sent/incoming SOAP message? That would help answer some > of the other questions I asked.**** > > **** > > Brian**** > > **** > > **** > > *From:* Walid Benkhelouf [mailto:[email protected]] > *Sent:* Friday, August 02, 2013 3:17 PM**** > > > *To:* [email protected] > *Subject:* Re: retrieving message_id**** > > **** > > Sorry for my stupid question ,the thing is that i'm not an expert in axis > or java programming ,i was using SOAPUI to simulate the client, i can see > now that i can add messageID from SOAPUI ,it's addressing my problem for > the incoming,but i just wanna ask one more stupid question :) :**** > > -->is there any property in common between the incoming and outgoing > message ,that i can use as primary key in my database that is used to > store incoming messages.(and when a response occur without a problem ,this > message will be drooped) . **** > > **** > > 2013/8/2 Brian Reinhold <[email protected]>**** > > A stupid question: you are sure that the message id field is sent by the > client …**** > > Is this null response only on the incoming message?**** > > And what version?**** > > Sending secure or unsecure?**** > > Is ‘must understand’ set by the client?**** > > I know I had to do some messing around with the addressing modules to get > the ws addressing headers to appear in the response. But it’s been a long > time so I don’t recall the details.**** > > **** > > Brian**** > > **** > > *From:* Walid Benkhelouf [mailto:[email protected]] > *Sent:* Friday, August 02, 2013 2:33 PM > *To:* [email protected] > *Subject:* Re: retrieving message_id**** > > **** > > hi Martin,**** > > yes i did this and i'm getting a null value in both incoming and outgoing, > even if "ws-addressing" is engaged.**** > > **** > > 2013/8/2 Martin Gainty <[email protected]>**** > > try > > mc.getMessageID() > > (case matters) > > does this help? > Martin > ______________________________________________ > Verzicht und Vertraulichkeitanmerkung > > Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene > Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte > Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht > dient lediglich dem Austausch von Informationen und entfaltet keine > rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von > E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. > > **** > ------------------------------ > > Date: Fri, 2 Aug 2013 18:55:18 +0200 > Subject: Re: retrieving message_id > From: [email protected] > To: [email protected]**** > > **** > > I need to know if there is a property shared between the two > messages(IN/OUT) ,**** > > I was thinking that this property is the message_id contained in > "messageContext.getmessageID()" ,but i'm getting a null value when trying > to retrieve it (ws-addressing module is engaged)**** > > **** > > **** > > 2013/8/2 Brian Reinhold <[email protected]>**** > > Not sure I understand the problem ... is what you are trying to do is > retrieve the ws:addressing message id? > > Brian**** > > > -----Original Message----- > From: Walid Benkhelouf [mailto:[email protected]] > Sent: Thursday, August 01, 2013 7:09 PM > To: [email protected] > Subject: retrieving message_id > > Hello, > > I'm developping a module that handler in/out message from axis2 engine and > store them in a database. > I have two handlers :one for the incoming and one for the outgoing. > I need to store the incoming ,and drop the outgoing messages. > The problem is that i need to have the same message_id so i can access to > the database in the second time(the two messages needs to have the same > key). > Thanks;**** > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > ----- > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2013.0.3392 / Virus Database: 3209/6543 - Release Date: 08/01/13 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected]**** > > **** > > **** > > **** > > No virus found in this message. > Checked by AVG - www.avg.com**** > > Version: 2013.0.3392 / Virus Database: 3209/6545 - Release Date: 08/02/13* > *** > ------------------------------ > > No virus found in this message. > Checked by AVG - www.avg.com**** > > Version: 2013.0.3392 / Virus Database: 3209/6545 - Release Date: 08/02/13* > *** > > **** > ------------------------------ > > No virus found in this message. > Checked by AVG - www.avg.com**** > > Version: 2013.0.3392 / Virus Database: 3209/6547 - Release Date: 08/02/13* > *** > > ** ** > > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2013.0.3392 / Virus Database: 3209/6548 - Release Date: 08/03/13* > *** > > ------------------------------ > > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2013.0.3392 / Virus Database: 3209/6548 - Release Date: 08/03/13* > *** > >
