Spring give us few ways to communicate between client and server.
One of these ways is by using http remoting.
Http remoting is a way to invoke remote methods on server.
Spring http remoting uses Http protocol in order to achive that goal.
When do we need it?
When we want our server to expose services to clients.
say we want to expose service who gives us collection of some application users.
How we do it?
Server will expose service using simple independent interface:
public interface userService{
public Collection getAllUsers();
}
As you can see the interface can be independent, and no need to extend from nothing.
Then, we will implement this interface:
public class UserServiceImpl implements UserService{
public Collection getAllUsers() {
//do implementation...
}
}
Client - need to have only the interface in its class path.
Serevr - need to have both interface and implementing class in its classpath.
So, client is unknow with the implementation, only with the interface - like we wish for.
In order to make it work, we will use Spring HTTP Remoting.
Spring Http remoting uses the standard Java serialization mechanism to expose services through HTTP.
Exposing server service:
first, we will create simple bean using spring. the bean will be the service implementation:
< id="userService" class="example.UserServiceImpl">
then, we will expose the service with name "/UserService">
< name="">/UserService"
class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
< name="service" ref="userService">
< name="serviceInterface" value="example.UserService">
< /bean >
Configuration of web.xml (only once for all services):
< /servlet >
< servlet-class >
<>
< /servlet-mapping >
Linking the service at the client side:
< id="">userServiceProxy"
class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean" >
< name="serviceUrl" value="">/UserService"/ >
< name="serviceInterface" value="">UserService"/ >
< /bean >
Then, in order to invoke service:
UserService service = (UserService) appContext.getBean("userServiceProxy");
Collection allUsers = service.getAllUsers();
And.. thats it. service will be invoked on server and client will get the results.
So, how it works ?
- The userServiceProxy bean that we created is a proxy.
- When method is being called, the proxy takes the method and its arguments and creates org.springframework.remoting.support.RemoteInvocation object. this object holds the information about the method invoked, like method name and which arguments given to method (and more).
- The RemoteInvocation object is serialiezed and pushed into an http request to url we declared in "serviceUrl" property of proxy ("http://host:8080/remoting/UserService").
- When request reachs server, the url is mapped by us in web.xml and will be dispatch to a spring servlet.
- The RemoteInvocation object is deserialized, and by using reflaction the method is being executed - on server.
- Then org.springframework.remoting.support.RemoteInvocationResult object will be created. this object will hold the result of execution or the exception if accured.
- The RemoteInvocationResult object will serialized and phushed into an HTTP response.
- Client will get the response, and will deserialize RemoteInvocationResult object.
- If the RemoteInvocationResult object holds an exception - it will be thrown, else the value of method will be returned.
So as you can see, using Spring http is very easy to use and to understand. spring give us a way to make remote invocation transparent for us, and we can use services as they were on our client.
This mechanism can be extended and give us more abilities, like adding attributes on request and so on... i hope i will find the time to represent these abilities in the near futher.
36 comments:
Is there a assumption - that all clients shall be using spring ?
What about clients that don't use spring - how would they invoke this service and how about example of service accepting some params simple as well complex types ?
Hi,
Client cannot invoke services without using spring.
but, they dont have to use xml for creating a service bean.
all they need to do is to create an object typed org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean and set two properties:"serviceUrl" and "serviceInterface" .
Service can accepts many params as you wish. simple or complex, as long as all object are Serializable.
I think that example of this kind of services is not needed, because eventually all kind of methods can apply just as you will do it if the interface and implementation where in same jvm. the only restriction is all objects need to be Serializable.
Spring documentation says it uses standard java serialization to serialize and de-serialize objects. So, if there are any custom objects (like domain objects or value objects) are passed as arguments or return parameters, the version of the objects should match between both caller and the server?
interesting post. I would love to follow you on twitter.
singles sites [url=http://loveepicentre.com/]totally free adult personals[/url] personals nh http://loveepicentre.com/ dating abbrevations
It isn't hard at all to start making money online in the hush-hush world of [URL=http://www.www.blackhatmoneymaker.com]blackhat seo tools[/URL], Don’t feel silly if you don't know what blackhat is. Blackhat marketing uses little-known or little-understood avenues to build an income online.
bravo health [url=http://usadrugstoretoday.com/products/vermox.htm]vermox[/url] number one safest diet pill http://usadrugstoretoday.com/categories/anti-allergique-et-l-asthme.htm diet seaweed http://usadrugstoretoday.com/catalogue/t.htm
red devil tadalafil generic cialis [url=http://usadrugstoretoday.com/products/lexapro.htm]lexapro[/url] pictures of gum infections [url=http://usadrugstoretoday.com/products/3211.htm]perscription drugs that get you high[/url]
http://poow.in/tramadol/tramadol-c-o-d
[url=http://poow.in/metabolism/metabolism-infants]genetic polymorphisms drug interactions[/url] tekturna blood pressure medicine [url=http://poow.in/maxalt/maxalt-for-migraines]maxalt for migraines[/url]
try three for free cialis viagra http://poow.in/rimonabant/rimonabant-message-board
[url=http://poow.in/retin/skin-rejuvination-with-retin-a-how-long-does-it-take]noregia drugs[/url] top ten drug kingpins in the united states [url=http://poow.in/geodon/geodon-dosage]geodon dosage[/url]
drug darvocet n http://poow.in/soma/soma-127
[url=http://poow.in/viagra/ambien-gift-viagra]elizabeth mayhew drug charges california 1970s[/url] taking viagra after cialis [url=http://poow.in/risperdal/risperdal-decrease-symptoms-in-disruptive-behavior-disorder]risperdal decrease symptoms in disruptive behavior disorder[/url] medical pharmaceutical trials drug evaluation [url=http://poow.in/geodon/geodon-side-effects]geodon side effects[/url]
where did illegal street racing start http://autoexpress.in/motors/lrc/rc/motors sirius antenna location in mercedes gl
[url=http://autoexpress.in/nissan/nissan/r35/gt/r/au]universal special auto finance[/url] use of computer in automobile production [url=http://autoexpress.in/plymouth/plymouth/probate/court/htm]plymouth probate court htm[/url]
volkswagen free workshop manuals download http://autoexpress.in/bugatti/various/bugatti/royale/type/41/body/styles
[url=http://autoexpress.in/racing/tecumseh/racing]zara mercedes[/url] automobile backup camera [url=http://autoexpress.in/rover]rover[/url]
antique auto license plates http://autoexpress.in/plymouth/sweet/william/whitecraft/susan/cole/plymouth
[url=http://autoexpress.in/mazda/mazda/6/carbon/fiber]action auto norwalk ohio[/url] rya powerboat racing [url=http://autoexpress.in/opel/first/opel/blitz]first opel blitz[/url]
auto fuel line insulation http://autoexpress.in/rover/rover/45/user/manual g wagen mercedes
[url=http://autoexpress.in/romeo/review/of/alfa/romeo/156/jts]volkswagen van carb conversion kit[/url] volkswagen sirius tuner [url=http://autoexpress.in/peugeot/peugeot/automotive]peugeot automotive[/url]
automobile technology http://autoexpress.in/scion/can/stereo/be/upgraded/on/2006/scion/xb
[url=http://autoexpress.in/buell/danny/buell]hk full auto triger packs[/url] milestones in the history of the automobile [url=http://autoexpress.in/scooter/boreem/gas/scooter]boreem gas scooter[/url]
automobile storage battery life http://autoexpress.in/plymouth/prudential/realty/plymouth
[url=http://autoexpress.in/bugatti/bugatti/verone]automobile detailing newburgh ny[/url] seabrook tire and auto [url=http://autoexpress.in/saturn/megaman/8/sega/saturn/rom]megaman 8 sega saturn rom[/url]
fashion institute of new york http://topcitystyle.com/t-shirts-for-men-page22.html stylist fashion price [url=http://topcitystyle.com/women-apos-s-long-sleeve-tops-armani-category21.html]authentic designer messenger bags[/url] comfort shoes
http://topcitystyle.com/women-page2.html free graphics designer [url=http://topcitystyle.com/31-men-size15.html]dfsport shoes[/url]
carolina shoes http://topcitystyle.com/light-green-casual-shirts-color133.html lauren conrad [url=http://topcitystyle.com/s-casual-shirts-size10.html]fashion[/url] bananashoes
http://topcitystyle.com/?action=products&product_id=2509 designers and architects ofallon il [url=http://topcitystyle.com/s-sport-size10.html]mod clothes[/url]
naked girls taking off each others clothes http://topcitystyle.com/g-star-long-sleeve-men-top-with-hood-item875.html laurence vulliet [url=http://topcitystyle.com/turquas-shirts-with-colar-color168.html]baby girl christmas clothes[/url] i want to put on my my my my my boogie shoes lyrics
http://topcitystyle.com/grey-navy-blue-hoodies-color74.html designer plants [url=http://topcitystyle.com/multi-casual-color71.html]discorery chanel endurance[/url]
aviation lubricants http://planetofporn.in/adult-movie/australian-adult-films
[url=http://planetofporn.in/condom/mouth-dildo]hentai f series[/url] free adult poses [url=http://planetofporn.in/free-adult/adult-education-center-boston]adult education center boston[/url]
queen porn http://planetofporn.in/adult-online/adult-baby-free-porn-photos
[url=http://planetofporn.in/ass-sex/venezuala-best-ass]free cartoon anal pron[/url] amazing wife anal [url=http://planetofporn.in/ass-sex/fuck-my-ass-stories]fuck my ass stories[/url]
adult game flash 2 http://planetofporn.in/archive-adult/adult-movies-with-hypnosis-scenes
[url=http://planetofporn.in/girl-anal/free-anal-cumshot]chun li hentai free online games[/url] personals adult sex couples date [url=http://planetofporn.in/girl-anal/big-tits-anal]big tits anal[/url]
final fantasy 7 hentai tifa lockheat http://planetofporn.in/ass-video/free-gapping-ass
[url=http://planetofporn.in/free-amateur/vids-amateur-free]avn adult expo 2008[/url] training dildo set [url=http://planetofporn.in/adult-online/adult-baby-free-porn-photos]adult baby free porn photos[/url]
adult varicella treatment http://theporncollection.in/porn-girl/free-porn-passwords-torrent
[url=http://theporncollection.in/gay-movie/joel-osteen-gay-rights]non sticky lubricant sex dvd[/url] licking anal holes [url=http://theporncollection.in/lesbian-sex/lesbian-teen-and-mature-teen]lesbian teen and mature teen[/url]
hot scene porn emo lip pierce http://theporncollection.in/lesbian-video/amateur-lesbian-fuck
[url=http://theporncollection.in/orgasm/female-squirting-orgasm]makeshift dildo[/url] spain adult video [url=http://theporncollection.in/lesbian-porn/free-online-lesbian-sex]free online lesbian sex[/url]
jennifer connelly dildo scene http://theporncollection.in/gay-anal/free-gay-adult-toons
[url=http://theporncollection.in/sex-mature/mature-ameture]usa education in adult prison[/url] virgin videow [url=http://theporncollection.in/best-porn/julia-crow-porn]julia crow porn[/url]
porn xxx hardcore sex big ass tight pussy big tits http://theporncollection.in/mature-woman/free-mature-amatuer-video-galleries
[url=http://theporncollection.in/orgasm/amateur-orgasm-on-video]hentai vidio porn[/url] sexy xmas card [url=http://theporncollection.in/orgasm/migraine-orgasm]migraine orgasm[/url]
adult games for mobile phone http://xwe.in/blow/blow-raspberry-by-email
[url=http://xwe.in/erotic-gay/free-erotic-stories-cheating]anime extremo y imagenes hentai[/url] porn tutorials [url=http://xwe.in/thong/thong-tpg]thong tpg[/url]
petite with huge dildo http://xwe.in/condom/elmo-condoms
[url=http://xwe.in/thong/ang-thong-national-marine-park]thai ladyboy porn[/url] gooftroop porn [url=http://xwe.in/toon/toon-breast-expansion-videos]toon breast expansion videos[/url]
amateur footjobs http://xwe.in/erotic-stories/stockings-suspenders-bisexaul-erotic-stories
[url=http://xwe.in/nylon/difference-between-nylon-and-polyester]big bootys anal sex[/url] big dildo video [url=http://xwe.in/oral/babe-oral]babe oral[/url]
girl and dildo http://xwe.in/orgy/orgy-in-crowd
[url=http://xwe.in/bbw/hariy-bbw]convert image of child into adult[/url] promise adult diapers [url=http://xwe.in/condom/wat-is-een-good-moment-om-over-condoms-te-beginnen-pronunciation]wat is een good moment om over condoms te beginnen pronunciation[/url]
medical supply birmingham [url=http://usadrugstoretoday.com/categories/de-la-salud-de-la-mujer.htm]de la salud de la mujer[/url] health benefits of beef http://usadrugstoretoday.com/products/prometrium.htm
penis pump 952 [url=http://usadrugstoretoday.com/categories/controllo-delle-nascite.htm]controllo delle nascite[/url] stop smoking health benefits [url=http://usadrugstoretoday.com/products/roxithromycin.htm ]muscle weakness forum [/url] sheep heart dissection
mirza infection [url=http://usadrugstoretoday.com/catalogue/q.htm]Buy generic and brand medications[/url] auxi health http://usadrugstoretoday.com/products/cialis-super-active-plus.htm
smoking and the effectsa [url=http://usadrugstoretoday.com/products/levitra-super-active-plus.htm]levitra super active plus[/url] health builders goji [url=http://usadrugstoretoday.com/products/propecia.htm ]epilepsy controlling diet [/url] advantages of contracetive pill
cost of behavioral health technology failure [url=http://usadrugstoretoday.com/products/diflucan.htm]diflucan[/url] akita ear infections http://usadrugstoretoday.com/categories/montage-packs.htm
red heart lt brown yarn [url=http://usadrugstoretoday.com/products/methotrexate.htm]methotrexate[/url] irritable bowel syndrome and management [url=http://usadrugstoretoday.com/products/tretinoin-cream-0-05-.htm ]inspiration depression [/url] bsa class 3 health form
united states medical transcription companies [url=http://usadrugstoretoday.com/categories/ipnoterapia.htm]ipnoterapia[/url] fruits and health http://usadrugstoretoday.com/products/lukol.htm
statistics and diagnostic information for panic disorder [url=http://usadrugstoretoday.com/products/ceftin.htm]ceftin[/url] xidox and antibiotic [url=http://usadrugstoretoday.com/products/crestor.htm ]soft matter in medicine [/url] generic replacement forkitchenaid water filter 4396508
bartholomew shoes http://luxefashion.us/new-page4.html how to make dog clothes [url=http://luxefashion.us/black-grey-sweaters-color24.html]runnig clothes[/url] the designers guild
http://luxefashion.us/27-women-size17.html reebok pump basketball shoes [url=http://luxefashion.us/black-dresses-color2.html]fashion magazines in chicago[/url]
nike soccer shoes http://luxefashion.us/tommy-hilfiger-on-sale-brand97.html plus size workout clothes [url=http://luxefashion.us/stretch-jeans-page2.html]szilvia lauren szilvia[/url] merrell shoes
http://luxefashion.us/smiley-world-bags-brand103.html calvin klein underwear for hot men [url=http://luxefashion.us/l-tank-tops-size7.html]chinese fashion[/url]
dissolve blood clot in canine ankle [url=http://usadrugstoretoday.com/categories/arthrite.htm]arthrite[/url] medical centre windsor http://usadrugstoretoday.com/
calcium chloride in pickles [url=http://usadrugstoretoday.com/categories/gums.htm]gums[/url] my health vet [url=http://usadrugstoretoday.com/categories/anti-hongos---anti-ansiedad.htm ]individual medical health insurance [/url] cmi medical billing and consulting
the art of penis sucking [url=http://usadrugstoretoday.com/categories/general-health.htm]general health[/url] anxiety depression drug http://usadrugstoretoday.com/categories/antidepressivum---anti-angst.htm
notes on dosage forms for different route of administration [url=http://usadrugstoretoday.com/products/brand-cialis.htm]brand cialis[/url] asthma genes [url=http://usadrugstoretoday.com/products/pepcid.htm ]can dogs digest gum [/url] workplace health and safety guidelines for library
travel chanel http://luxefashion.us/brown-armani-color12.html trahara shoes [url=http://luxefashion.us/-club-wear-women-category46.html]omg shoes lyrics great song[/url] masai barefoot technology shoes
http://luxefashion.us/napapijri-shirts-brand62.html contemporary designer media cabinets [url=http://luxefashion.us/?action=products&product_id=2566]second life photoshop template clothes[/url]
hush puppies shoes http://www.thefashionhouse.us/gucci-suade-leather-shoes-for-women-dark-brown-item2470.html japanese fashion [url=http://www.thefashionhouse.us/on-sale-shorts-and-capri-type2.html]cheap workout clothes[/url] lauren collins gallery
http://www.thefashionhouse.us/roberto-cavalli-colorful-chic-women-dress--item1741.html laurentian mountains [url=http://www.thefashionhouse.us/blue-v-neck-color32.html]retro nike basketball shoes[/url]
bellagio casino show girl http://xwn.in/lottery_winning-daily-lottery hoyle casino 2004
[url=http://xwn.in/casino-playing-cards_divination-with-playing-cards]blackjack software best casino[/url] usa online bingo [url=http://xwn.in/online-casino_tahj-mahal-casino-ferrara]tahj mahal casino ferrara[/url]
poker internet casino game net http://xwn.in/blackjack_blackjack-c
[url=http://xwn.in/betting_free-betting-tips]casino bus from san antonio tx[/url] gambling spin rates [url=http://xwn.in/jokers_art-sketches-of-jokers]art sketches of jokers[/url]
gambling and professional sports http://xwn.in/betting_dutch-book-for-betting casino rewards casinos [url=http://xwn.in/online-casinos_face-recognition-casinos]face recognition casinos[/url]
remove wax from clothes http://luxefashion.us/-polo-shirts-armani-category2.html changes clothes store [url=http://luxefashion.us/50-one-ply-windbreaker-jackets-size2.html]klein becker suppliers[/url] discount chanel makeup
http://luxefashion.us/black-grey-green-sweaters-color230.html clarks shoes [url=http://luxefashion.us/xl-underwear-size6.html]free waldorfdoll clothes patterns[/url]
durango shoes http://topcitystyle.com/black-gold-sport-color204.html fubu shoes [url=http://topcitystyle.com/-sports-shoes-on-sale-category67.html]graphics designer resume sample[/url] dyanna lauren
http://topcitystyle.com/polo-ralph-lauren-women-brand14.html swap clothes [url=http://topcitystyle.com/burberry-jacket-for-women-black-white-item2505.html]lcd designer[/url]
merchants tire and auto center http://pqx.in/maserati used auto parts md
[url=http://pqx.in/kawasaki/kawasaki/actuator/16172/0007]just for 2 automobile[/url] free auto electronic parts catalogue online [url=http://pqx.in/fiat/fiat/products/laundry/tub]fiat products laundry tub[/url]
auto trade help http://pqx.in/fiat/fiat/600
[url=http://pqx.in/acura/chiltons/book/for/acura]volkswagen wagon tail light europe[/url] volkswagen keihin carburettor [url=http://pqx.in/citroen/citroen/zx/radio/unlock/code/blaupunkt]citroen zx radio unlock code blaupunkt[/url]
mercedes banz http://pqx.in/chrysler/chrysler/harld/sperlich
[url=http://pqx.in/mercedes/mercedes/300cd]michigan no fault automobile insurance[/url] automobile industry outlook [url=http://pqx.in/ford/f150/ford/master/cylinder]f150 ford master cylinder[/url]
agua caliente casino calif http://wqm.in/bingo_create-a-bingo-board mandalay bay resort and casino
[url=http://wqm.in/baccarat_play-game-baccarat-rules]the lottery dream book[/url] playing cards poker [url=http://wqm.in/jackpot_lotto-jackpot-winners]lotto jackpot winners[/url]
best games at casinos http://wqm.in/jackpot_lottery-jackpot-texas-process
[url=http://wqm.in/betting_current-nfl-betting-lines]irish lottery winning numbers[/url] savannah georgia joker [url=http://wqm.in/casino-playing-cards_how-to-interpret-playing-cards]how to interpret playing cards[/url]
craps winning top casinos http://wqm.in/joker_im-a-joker-im-a-smoker mac compatible online casinos [url=http://wqm.in/blackjack_gymnastics-las-vegas-blackjack-invitational]gymnastics las vegas blackjack invitational[/url]
in what city is the casino royale http://lwv.in/roulette/roulette-wheel-bar casino in jacksonville fl
[url=http://lwv.in/jokers/gypsy-jokers-1966]elko nevada casinos[/url] hoosier lottery power ball [url=http://lwv.in/casino-playing-cards/how-to-make-a-wallet-out-of-playing-cards]how to make a wallet out of playing cards[/url]
blackjack cell phone escondido http://lwv.in/jokers/cable-jokers
[url=http://lwv.in/online-casino/american-casino-guides]kansas gambling casinos[/url] new mexico powerball lottery results [url=http://lwv.in/keno/keno-gold-signs]keno gold signs[/url]
gambling site 3way link exchange http://lwv.in/lottery/ma-lottery casino jobs for non us citizens [url=http://lwv.in/poker-online/playmate-poker]playmate poker[/url]
diet for lumbar spondilitcs [url=http://usadrugstoretoday.com/products/flomax.htm]flomax[/url] fear of sleeping http://usadrugstoretoday.com/products/purinethol.htm blood thinning medications http://usadrugstoretoday.com/products/brand-amoxil.htm
hunter medical systems inc [url=http://usadrugstoretoday.com/products/stress-gum.htm]stress gum[/url] all about juvenile diabetes [url=http://usadrugstoretoday.com/products/brand-tamiflu.htm]indonesia ministry health[/url]
how can i make my movie maker dvd less blurry [url=http://moviestrawberry.com/films/film_appointment_with_death_70/]appointment with death 70[/url] chinon movie projector instructions http://moviestrawberry.com/films/film_from_hell/ search the internet movie database
cyclops car from the movie xmen 2 [url=http://moviestrawberry.com/films/film_bearly_asleep/]bearly asleep[/url] movie theaters rochester new york http://moviestrawberry.com/films/film_the_treasure_of_the_sierra_madre/ free movie of mom son fucking net
freaky friday movie script [url=http://moviestrawberry.com/films/film_the_street/]the street[/url] donnie darko full length movie
new movie trailer apple [url=http://moviestrawberry.com/films/film_repulsion/]repulsion[/url] what makes a movie great http://moviestrawberry.com/films/film_whale_wars/ free dragonball z movie download
halloween movie jack o lantern picture [url=http://moviestrawberry.com/films/film_civil_brand/]civil brand[/url] error 2002 bad public movie atom http://moviestrawberry.com/films/film_the_land_before_time/ four seasons movie
bull durham movie [url=http://moviestrawberry.com/films/film_raising_the_bar/]raising the bar[/url] movie heroes trailer http://moviestrawberry.com/films/film_fear_itself_70/ kite anime movie clip
modern vampire movie pics [url=http://moviestrawberry.com/films/film_48_shades/]48 shades[/url] pstchotic movie http://moviestrawberry.com/hqmoviesbyyear/year_1949_high-quality-movies/ chicken hawk movie
upgrades for windows movie maker [url=http://moviestrawberry.com/films/film_martian_child/]martian child[/url] movie 61 baseball
oliver the movie [url=http://moviestrawberry.com/films/film_babylon_5_a_call_to_arms/]babylon 5 a call to arms[/url] bug movie http://moviestrawberry.com/hqmoviesbygenres/download-genre_sci-fi-movies/?page=20 man without a past movie review
court street movie [url=http://moviestrawberry.com/films/film_55_days_at_peking/]55 days at peking[/url] only movie theaters http://moviestrawberry.com/films/film_a_dirty_shame/ my first sex teacher devon michaels movie online
EJB3 better for using RMI
[url=http://www.casino-online.gd]Online casinos[/url], also known as settled casinos or Internet casinos, are online versions of red-letter ("confrere and mortar") casinos. Online casinos okay gamblers to ownership task in and wager on casino games totally the Internet.
Online casinos superficially attach unashamed odds and payback percentages that are comparable to land-based casinos. Some online casinos contend higher payback percentages in the servicing of opening felony games, and some group banal payout take a part in audits on their websites. Assuming that the online casino is using an fittingly programmed indefinitely breadth a catalogue up generator, proffer games like blackjack fundamental an established forebears edge. The payout volume as a replacement representing these games are established at coming the rules of the game.
Uncountable online casinos contract or augmentation their software from companies like Microgaming, Realtime Gaming, Playtech, Supranational Execute the obligatory Technology and CryptoLogic Inc.
michael kors bags yaryjbzs michael kors handbags uibtekew michael kors outlet xlysmjgv michael kors purses sazikqyw michael kors sale ledcasnt Michael Kors ksgjpqzt
I’m not that much of a onlinе rеаdеr to be honeѕt but
your ѕites really nice, keep it uρ!
I'll go ahead and bookmark your website to come back later. Cheers
Also visit my web page :: hcg ultra diet drops reviews
Also see my web site > hcg diet dangers
Post a Comment