Forum Discussion

Daniel_Ramey_10's avatar
Daniel_Ramey_10
Icon for Nimbostratus rankNimbostratus
Mar 06, 2006

Node.ITCMCommonIPPortDefinition does not exist...

Greetings!

 

 

Let me first say that this site has been very helpful! I am taking my first crack at C development, so please excuse my gross stupidity in these matters. :-) Now on to my issue.

 

 

I am about mid way through the iControlApp tutorial for C and I am finding that the web reference that I have added seems to be different from the one that is being worked on in the video. Node.ITCMCommonIPPortDefinition is not in the drop down list of options that I get from my web reference. I checked the SDK documentation for 9.0x (that is what our BigIP is running) and it seems to indicate that the IPPortDefinition doesn't live under the ITCMLocalLB.Node but instead it resides in Common or ITCMCommon. I have tried to add each of those as a web reference, but when I connect to the F5 neither of them appear in the list that is available to add as references. I also noticed that although there was a method called get_list that returns the node addresses, there was no get_node_server_list method that I could find.

 

 

Here is the code that I am attempting to complete:

 

 

Node.ITCMCommonIPPortDefinition [] = node.get_node_server_list();

 

 

 

 

Am I out of my head? Are my versions so far off the demo that I need to do something completely different?

 

 

I am using:

 

 

BIG-IP 9.0.5 Build 59.7

 

Visual Studio 2003 (because of the bug with 2005 adding the web reference)

 

 

Thank you for any help or guidance that you can give,

 

 

Daniel
  • Daniel,

     

     

    First of all: Welcome!

     

     

    There are a couple of issues here so I'll try to address them all (if not, let me know). First, the tutorial was written for BIG-IP v4.5, not BIG-IP v9.0.

     

     

    *Note to self: build a new tutorial for 9.x!

     

     

    In 9.0, we introduced an entire new architecure and due to the underlying object changes we weren't able to maintain 100% compatibility with old interfaces. In 4.x we prefixed all interfaces with "ITCM". In 9.x, we included a few of these that we thought covered the marjority of the existing apps, but for new applications we strongly recommend not using them.

     

     

    One of the big changes in the architecture, is that there is no longer a concept of a "node server" (ie. ip:port). Now this is referred to as a "pool member". All methods in the Node Interface now only work on node addresses.

     

     

    So, for your 9.x version of the ITCMLocalLB.Node.wsdl file, it no longer contains references to the ITCMCommonIPPortDefinition structure because that structure is no longer needed in that interface.

     

     

    Your best bet is to start with the LocalLB.Node, LocalLB.Pool, and LocalLB.PoolMember interfaces and try to play around with them. I'll try to whip up a parallel app for the v9 interfaces. I'll let you know if and when that's available (probably via CodeShare).

     

     

    Sorry for the confusion - we'll get that fixed!

     

     

    -Joe
  • Hey Joe,

     

     

    Thanks, I too came across this problem today and you've clear the fog! Just wondering have you completed the parallel document?

     

     

    Cheers

     

     

    Creed