I recently posted an example of a “Live Help / Call Center” application built with Flex and BlazeDS. A number of you have asked me for the source code. So here it is…
Installation instructions
- Install BlazeDS or LCDS.
- Download the client-side of the application. The end-user application is mortgageapp.mxml, and the support representative application is callcenter.mxml.
- Download and deploy the server-side of the application.
- Add the following destination in WEB-INF/flex/remoting-config.xml.
<destination id="ticket-service"> <properties> <source>flex.samples.livehelp.TicketService</source> <scope>application</scope> </properties> <channels> <channel ref="my-rtmp"/> <channel ref="my-amf"/> </channels> </destination>NOTE: If you are using BlazeDS, remove the line that defines the “my-rtmp” channel.
- Add the following destination in WEB-INF/flex/messaging-config.xml.
<destination id="callcenter"> <properties> <server> <allow-subtopics>true</allow-subtopics> <subtopic-separator>.</subtopic-separator> </server> </properties> <channels> <channel ref="my-rtmp"/> <channel ref="my-longpolling-amf"/> </channels> </destination>NOTE: If you are using BlazeDS, remove the line that defines the “my-rtmp” channel in the above destination, and add the following channel definition in WEB-INF/flex/services-config.xml:
<channel-definition id="my-longpolling-amf" class="mx.messaging.channels.AMFChannel"> <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amflongpolling" class="flex.messaging.endpoints.AMFEndpoint"/> <properties> <polling-enabled>true</polling-enabled> <polling-interval-seconds>3</polling-interval-seconds> <wait-interval-millis>60000</wait-interval-millis> <client-wait-interval-millis>1</client-wait-interval-millis> <max-waiting-poll-requests>200</max-waiting-poll-requests> </properties> </channel-definition> - Follow the instructions in my original post to experience the application.

yeah! Really thank you for your working!
thank you, Christophe !
Thank you
Merci
Great application, in your code it seems that you point to a rtmp server in LiveHelpPanel.mxml. Since BlazeDS doesn’t support rtmp, does that portion just not work or is there a way to use BlazeDS with piece?
I realized that I need to use a FMS for the RTMP. thx
Pretty nice work! Thank you !
This is a nice prototype for flex/java collaboration system.
We are also interested in using JBoss/Seam/Flamingo to build such application…
But i don’t konw, which is better?
Flex+JBoss+Seam+Flamingo+Java…
Flex+Tomcat+BlazeDS+LiveCycle+Java…
Dear Christophe, i just finished the stress testing in my local net work for the LiveHelp application,and found that , as i add all the data in the form, the speed of data synchronization get slowing down…and the data synchronization runs not smoothly…
i don’t know to to harness this problem…
Dear Christophe, i just finished the stress testing in my local net work for the LiveHelp application,and found that , as i add all the data in the form, the speed of data synchronization get slowing down…and the data synchronization runs not smoothly…and also as the time going on , data synchronizat also runs not smoothly…
i don’t how know to to harness these problem…
anyway , it’s really really a great cool application!!! i’m just love it !
Thank you so much for the source code Christophe, I was waiting for it since you published your previous post…
Brant,
Good catch. I had disabled the video conferencing feature in the version I host on my blog. But video conferencing is enabled in the source code I posted here. To make video conferencing work, you indeed need to install Flash Media Server, create a directory called flex_videoconference in the FMS applications directory, and create a file named main.asc in that directory that includes the following line: load(“components.asc”);
Christophe
hi i just downloaded the code and run it, but i just have callcenter.html working. is there “customer” src available too? thanks
Thanks for your hard work, I think this is a great idea for good causes. hand to hand.
respecto ^o^
we have downloaded and configured the application in my system.
pls help me how to run the application
pardon pour ca, c’est encore Flex Builder qui met WebContent pour le context root …
c résolu donc, pardon pour ce bruit
Thanks for your hard work, I think this is a great idea for good causes. hand to hand.
Very interesting code. It inspires me to try something similar. I´ll post my results, if it works. So far, many thanks!
Trying to get this to work w/ LCDS. I get an error when building project:
“channel not found for reference ‘my-rtmp’ in destination ‘ticket-service’.”
I added the entries as explained, but I think I do not have the .class & .java fles in the right place on the server. When you say “Deploy” the server side components, it looks only copying those files is all thats needed? this is my 1st attempt at installing a sample Flex app. Thanks
Can’t thank you enough for this!
Just downloaded and I’m sure it’ll work great.
We are also interested in using JBoss/Seam/Flamingo to build such application…
But i don’t konw, which is better?
Thanks, I downloaded it and it works great!!
hi i just downloaded the code and run it, but i just have callcenter.html working. is there “customer” src available too? thanks
Bagus ini,
bagus sekali contoh aplikasinya.
hi,i just downloaded the code and follow the instructions…
but nw my problem is when i run the application iam getting this error.
404
/flex/callcenter-debug/callcenter.html
java.io.FileNotFoundException: /flex/callcenter-debug/callcenter.html
at jrun.servlet.file.FileServlet.service(FileServlet.java:349)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
pls any one suggest me whas it problem with my server.
anyway , it’s really really a great cool application!!! i’m just love it !
sorry for the translation but I do not speak English very well, so is google jeje …
that, thank you for the code, it works wonders ….
I would just like to know if anyone can help me keep track of tickets outside of java, perhaps from flex to store them in a bd or would like to do that since you can keep the java bd … if it is from flex, as you would for loading the records in the datagrid from db, not java ???…. may help …. once more thank Christophe ;)
————————- Spanish :D ———–
que tal, muchisimas gracias por el codigo, funciona de maravilla…. solo quisiera saber si alguien me puede ayudar a llevar el registro de los tickets desde afuera de java, quiza desde flex, para almacenarlos en una bd o como es que podria hacer que desde java pueda guardar a la bd… si es que fuera desde flex, como le haria para cargar los registros en el datagrid desde la bd y no de java???…. espero puedan ayudarme…. una ves mas gracias Christophe ;)
it’s very good.I tested it,all working fine,except one small bug in
mortgageapp.mxml.
livehelppanel properties lack userid field,
if lack userid field, userid is null when ns_publish(userid)
so I changed to below(in mortgageapp.mxml)
from
to
and it’s very good,thanks
changed from
to
still cannot display
I added userid={userId} in line 88 when define
HI .. I have a question…Can u explain with example how to create more than on destination so that according to condition posting can happed on different destination.
Hi, Christophe! Thank you for the application! I have a question about source.
Where are the SandboxLogon instances created? I can’t find your application entry point, so I can’t understand how does sandboxes works…
Explain, please!
Hello and good day,
He showed us that it is also possible without drugs! He did a great job!
Thank you
anyway , it’s really really a great cool application!!! i’m just love it
Hi! I was surfing and found your blog post… nice! I love your blog. :) Cheers! Sandra. R.
I love your site. :) Love design!!! I just came across your blog and wanted to say that Ive really enjoyed browsing your blog posts. Sign: ndsam
I bought my husband an iphone for xmas but I don’t want to just wrap it up and give it to him. Any special ideas?
________________
unlock iphone 3g
Your application rocks …. really … It’s awesome…. just what I was looking for… Thank you so much… I can go to sleep :-)
I downloaded it and it works great, thank you!
ibrahim do you have the steps you used to get it to run.
Thank you for sharing this. I will try this first and will be back for any feed back.
Thanks, your explanation is really easy to follow.
hi i m hero and that is very wanderfull thought.I would just like to know if anyone can help me keep track of tickets outside of java, perhaps from flex to store them in a bd or would like to do that since you can keep the java bd … if it is from flex, as you would for loading the records in the datagrid from db, not java. well company.
———————————————————————————-
manish
Hi Christophe! (sorry for my bad english)
It is good sample.
But, The code is not working for me.
I installed BDTK and configured livehelp-client’s (placed under \WEB-INF\flex) config files.
callcenter app throws error. Error message is “error”.
And I couldn’t find definition for ”
in config files. ?
By the way SandboxLogon is a problem.
Can you help me?
Thanx.
We like your site theme can you tell me the name of it or where you downloaded it? thanks mate.
Pretty great post. I simply stumbled upon your blog and wished to mention that I’ve truly enjoyed surfing around your weblog posts. After all I will be subscribing on your rss feed and I am hoping you write again soon!
Wow! This could be one particular of the most helpful blogs We have ever arrive across on this subject. Actually Excellent. I am also a specialist in this topic therefore I can understand your effort.
You could certainly see your enthusiasm in the paintings you write. The world hopes for more passionate writers like you who aren’t afraid to say how they believe. Always go after your heart.
I do trust all the ideas you have presented for your post. They are really convincing and can definitely work. Still, the posts are too brief for beginners. Could you please prolong them a little from next time? Thanks for the post.
Saieva889@yahoo.com
It’s hard to search out educated people on this subject, but you sound like you understand what you’re talking about! Thanks
I needed to compose you that little note to help give thanks over again with the nice methods you have documented in this case. It has been really strangely open-handed of you to supply without restraint exactly what most people could have distributed for an ebook to end up making some money for their own end, mostly given that you could possibly have tried it in case you desired. The guidelines as well served like a fantastic way to know that most people have similar fervor really like my own to understand lots more related to this problem. I’m sure there are several more enjoyable situations in the future for many who see your blog.
Love your comment about commenting then fretting about your own use of language..been there, done that, all the time!
After study just a few of the weblog posts in your website now, and I actually like your way of blogging. I bookmarked it to my bookmark web site checklist and will probably be checking again soon. Pls take a look at my website as well and let me know what you think.
hi!,I really like your writing very so much! proportion we communicate more about your post on AOL? I need a specialist on this area to unravel my problem. Maybe that’s you! Looking forward to look you.
Great write-up, I am normal visitor of one’s website, maintain up the excellent operate, and It’s going to be a regular visitor for a lengthy time.
Good website! I really love how it is easy on my eyes and the data are well written. I’m wondering how I might be notified whenever a new post has been made. I have subscribed to your feed which must do the trick! Have a nice day!
I was just seeking this info for a while. After six hours of continuous Googleing, at last I got it in your website. I wonder what is the lack of Google strategy that don’t rank this type of informative web sites in top of the list. Generally the top web sites are full of garbage.
I and also my friends were checking the good things located on your web site and then instantly I got a terrible suspicion I had not expressed respect to the web blog owner for those techniques. These guys came consequently thrilled to learn all of them and already have surely been loving these things. I appreciate you for getting really thoughtful as well as for using this form of wonderful subject areas millions of individuals are really desperate to understand about. My personal sincere apologies for not saying thanks to you earlier.
Aw, this was a very nice post. In idea I want to put in writing like this moreover – taking time and precise effort to make an excellent article… however what can I say… I procrastinate alot and certainly not seem to get one thing done.
I’ve been absent for some time, but now I remember why I used to love this web site. Thanks, I’ll try and check back more frequently. How frequently you update your site?
Thanks a bunch for sharing this with all people you actually realize what you are talking approximately! Bookmarked. Please also discuss with my web site =). We can have a link change contract among us!
I wish to show my thanks to you just for bailing me out of such a trouble. Just after surfing around throughout the world-wide-web and coming across opinions which are not beneficial, I figured my life was over. Existing without the answers to the problems you’ve resolved as a result of your write-up is a crucial case, as well as ones which might have negatively affected my career if I had not encountered your blog post. Your main ability and kindness in taking care of almost everything was very useful. I’m not sure what I would’ve done if I hadn’t discovered such a stuff like this. It’s possible to at this time look ahead to my future. Thanks a lot so much for the reliable and sensible guide. I will not be reluctant to recommend the blog to any person who needs assistance on this issue.
Thank you for every one of your efforts on this website. Kim take interest in making time for internet research and it’s really easy to see why. Most people hear all relating to the lively ways you deliver precious ideas on this web site and in addition boost participation from some others on the concept plus our favorite princess is always starting to learn a great deal. Take pleasure in the remaining portion of the year. You’re the one performing a tremendous job.
Valuable information. Lucky me I found your web site by chance, and I am stunned why this twist of fate did not took place earlier! I bookmarked it.
I have recently started a website, the info you offer on this web site has helped me greatly. Thank you for all of your time & work.
A formidable share, I just given this onto a colleague who was doing a little evaluation on this. And he in fact purchased me breakfast because I found it for him.. smile. So let me reword that: Thnx for the deal with! However yeah Thnkx for spending the time to discuss this, I feel strongly about it and love reading extra on this topic. If attainable, as you change into experience, would you thoughts updating your weblog with more details? It’s extremely useful for me. Huge thumb up for this weblog put up!
call center management
r
call center project coding
I loved your blog.Really thank you! Will read on…