cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
347
Views
0
Helpful
4
Replies

CCX 9.0.2 AXL/SOAP query to CCM

I am trying to create a script in CCX 9.0 premium ha that can perform an AXL/SOAP query on the CCM 9.1 cluster where CCX is registered. What I am trying to do is replicate the forced auth code functionality for a downstream PBX that is behind an MGCP QSIG gateway. I am collecting digits for the FAC. I want to query the facinfo table on CCM, and then transfer the call if I find a match. I have found a number of SOAP examples, but I am not quite able to connect all the dots. I was trying to do it with a URL document, but that step throws an exception because it doesn't trust the self signed cert from CCM.I get the feeling that this step won't allow me to properly format the SOAP query anyway. I can't imagine I am the first person to ever want to do this, but I haven't been able to find anything. I so wish I could just make a JDBC connection to CCM...

4 Replies 4

Aaron Harrison
VIP Alumni
VIP Alumni

Hi

I've done this - basically my approach was to take the AxlSqlToolkit code from CUCM plugins.

I modified that into a custom JAR that was uploaded to UCCX, and invoked using SET steps. This allows the custom jar to contain the code to bypass the cert checking and to do pretty much any SOAP stuff.

Regards

Aaron

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!

Based on Aaron's comments, I decided to try and adapt/bludgeon the UCMGetUserByExtension java class from Tanner Ezell. I would cite the article number where he posted that, but I can't find it.

 

Big disclaimer here. I used to do some C development 15+ years ago, but I have never done Java. I realize that makes me a total neophyte, so I apologize in advance if my questions are overly simple.

 

I am trying just to recompile the original source and the current javac (jdk-7u67-windows-i586) is throwing an error. Here is the code block in question exactly as it was formatted in the original JAR file:

 

      UCMGetUserByExtension localUCMGetUserByExtension = new UCMGetUserByExtension(); UCMGetUserByExtension
        tmp397_395 = localUCMGetUserByExtension;tmp397_395.getClass();localObject1 = new UCMGetUserByExtension.MyTrustManager(tmp397_395);
      TrustManager[] arrayOfTrustManager = { localObject1 };

 

The error I get from javac is as follows:

z:UCMGetUserByExtension.java:56: error: non-static variable this cannot be referenced from a static context
        tmp397_395 = localUCMGetUserByExtension;tmp397_395.getClass();localObjec
t1 = new UCMGetUserByExtension.MyTrustManager(tmp397_395);

     ^
z:UCMGetUserByExtension.java:57: error: cannot find symbol
      TrustManager[] arrayOfTrustManager = { localObject1 };
                                             ^
  symbol:   variable localObject1
  location: class UCMGetUserByExtension
3 errors
2 warnings


I tried defining localObject1 instead as "UCMGetUserByExtension localObject1", but then I get this error "non-static variable this cannot be referenced from a static context". I found some articles on stackoverflow, so I redefined MyTrustManager as "static public class" instead of just "public class", but that caused this error "constructor MyTrustManager in class MyTrustManager cannot be applied to given types". I feel pretty certain that is fairly elementary java data typing, but the answer has eluded me thus far. :-(

Hi,

you are probably using this code block within a static method.

Can you please reveal more about what you are trying to achieve? I have done some SOAP and Java programming, I can help you with that.

G.
 

I am trying to query for an authorization level from the facinfo table. If I were doing it from the CCM CLI, it would be:

run sql select name, authorizationlevel from facinfo where code = '12345' (the where would be a local variable).