cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
915
Views
24
Helpful
16
Replies

IPCC 4.0(2) Custom Java classes problem...

Hi !

I want to reuse a custom java class I created for ipcc 3.5 in the 4.0 version.

I recompiled my class with the java 1.4.2 version and put it in a jar file.

In the administration web interface, I uploaded the jar : applications->document management, folder : default-> classpath.

so my file : win-callcenter.jar is in the default\classpath folder.

I went to the system menu, -> custom file configuration.

-> classpath for custom classes, I selected my jar file from the available classpath entries and put it in the selected classpath entries.

I added it also in the classpath for custom subsystem, I don't know if it's important ?!

I didn't forget to restart the cra engine.

After that, in the CRA Editor, when I want to create a variable with the type : be.win.telephony.callcenter.PublicHoliday , the system tell me "invalid variable type 'be.win.telephony.callcenter.PublicHoliday'; invalid identifier : be (line:1, col:1)

Do you have experience with this ???

Thanks you in advance,

Thierry

16 Replies 16

Hi !

I found the problem !

All that I did was correct. the problem was a BUG !

Bug ID : CSCsc45738

First Found-in Version 4.0(3), 4.5(0.30)

Release Notes

Symptom:

Remote Editor doesn't get updated with custom classes.

workaround: None

So, if you work on terminal service on the server, you can use your class in the CRA Editor ...

Thierry

Hi Thierry Berwart,

Do you have any example for me understand how can I create a custom java class to be used in IPCC Express Premium.

Thanks in Advanced,

My Best Regards,

Andre Lomonaco

any standard class file written in the correct jre version for IPCC Express is fine. you must package it to a jar file though, it is a requirement! Then just call it like any other class in cra editor!

HTH,

Chad

Hi chadstachowicz,

Thanks a Lot for your tips. I could create a Java Class and import in IPCC like you told me to do...

Just one question if possible:

How can I use this class ?

I can only use my class as variable

I wanna enter arguments and return the results but I don't see how can I do that

Thanks in Advanced

My Best Regards,

Andre Lomonaco

You can do this, and I'm not going to lie, I don't have my CRA script that I made this test in earlier this year. You can call the method from within the class in CRA and pass and return anything you like, however I believe its requires to return these into CRA variables! I wish I could be more of an assistance but, I haven't done this in awhile, I can try it later next week and get back to you as I have to write a java class for CVP for handling SOAP requests, I might as well test it in IP IVR and paste the results back!:)

Chad,

I would be very interested in any help you could provide, both on the Java class usage in CRS and with your work on SOAP.

It is the lack of SOAP support in CRS that is leading me to use a custom class, but I don't know where to start.

All of the threads on this forum are dead ends.

I look forward to hearing back from you.

>I believe its requires to return these into CRA variables!

It does, but this is no big deal. Just declare an integer variable called (for example) "return_code" and write your block statement in Expression Editor, and return 1 into the CRS variable "return_code".

Regards,

Geoff

no worries, I can post my class when I finish it, I don't mind sharing, might even write it this weekend. It's going to be interesting trying to get it working in CVP though ;)

Cheers,

Chad

Hi,

It's depending of the version of IPCC/CRA

but basically, you have to define a variable for example :

myVar of the type MyClass

and you after that you can use it in your script.

myVar = new MyClass()

myVar.setSomething("blablabla")

just use it :)

Thierry

This was the other thread that had use for this file. Here is the java class I said I would code. It should work fine in IP IVR or CVP for handling SOAP...

HTH, please rate useful posts!

Chad

Chad I don't see a link or an attachment in your post. Thanks for your help too by the way.

Also, I wanted to post this up for everyone to see:

AnthonyIsLearning.java

---

public class AnthonyIsLearning {

public static void main(String[] args) {

}

public static String getName() {

return "Anthony";

}

}

javac AnthonyIsLearning.java

jar cf AnthonyIsLearning.jar AnthonyIsLearning.class

I then upload the jar file to the document manager in CRA under default/classpath, and move it from the left pane to the right pane within the "Custom File Configuration" section of CRA.

I can see my class name listed as a variable type in CRS Editor now, but if I try and create a blank script, create a single variable of type "AnthonyIsLearning", value == null, then debug the script, I get the following error:

Exception: Error unmarshaling return header; nested exception is: java.net.SocketException: Software caused connection abort: socket write error.

Thoughts?

Anthony,

I did exactly as you and used your class code

here are some things I didn't see in your description,

I restarted the CRS engine after moving the custom class from left pane to the right, I didn't see this in your actions...

another consideration, since we have CRS 4.1, and have had Java issues before, I used the Javac and Jar versions from my j2sdk1.4.2_13 directory instead of any newer java SDKs

thanks, your example helped me to get rolling with getting java rolling.

let me know if you got more questions with what I did or want some more detail.

thanks to all on this thread, appreciate the tips and gave you all rates

Blair

Blair,

That's what it was. I needed to restart the engine. I even reboot the server as an attempt to fix this, which didn't help me.

From this document:

http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/crs/express_4_5/programming/script_devp/express_lang/crs451lr.pdf

you can see that restarting the CRS Engine is not a required step.

Page 155

Step 1 - Using the CRS Application Administration web pages, upload the jar files containing the

custom classes to the document repository.

Step 2 - Using the CRS Application Administration web pages, configure a custom class path to specify

the jar files.

Step 3 - Restart the CRS Editor to load the custom jar files and make them available

Also, since I am on CRS 5.0(1) SR2 I am using jdk 1.5.0_011.

Good to hear

My 4.1 CRS doc for the expressions is identical to yours. However another doc pointed out the restart.

to find it

go into CRS

back to the Custom File Configuration

Go the the Help at the top, and choose "For this page"

Mine shows a link for this to click on

Configure the classpath location of custom classes, steps, and subsystem (see Custom Classes/Steps/Subsystems Configuration).

Check out the doc pulled up from this link, mine has a check box to restart the Admin which I didn't do