« Back to Administration XML Questions

RE: Need help using AXL with VB.NET

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Need help using AXL with VB.NET
axl api cisco web service administrative functions languages
Answer
10/16/12 4:07 PM
I have been wanting to use the AXL API to perform administrative functions from within VB.NET (and possibly ASP.NET or C#). My employer wants me to be limited to languages in which they only activley develop with (.NET) so the thought of using Java or Perl seem to be out of reach.
Now, I am following this guide for the conversion of the WSDL file: http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/devguide/8_5_1/axl.html#wp1055254
I am running CUCM 8.5.1 and VB.NET 2010.

After running the conversion I get confused on all of the edits that have to take place. Can't Cisco just provide a patch file or some more precise modifications? I apologize as I am pretty new at .NET development. After the file conversion takes place is this just something that I include into my solution that I reference objects from or do I make this into some form of .NET web service to make calls to?
Thanks

Is there another resource on the Internet where I can ask AXL API questions? Maybe IRC, an individual, TAC, somebody? Thanks

For recent versions of UCM AXL, no edits should be needed to consume via .NET (with one exception) - the detailed modification instructions apply to earlier versions which had incompatibilities with .NET.  There is one known issue with the UpdateSoftKeySetReq request, that can be fixed by either a change to the WSDL or to the initial stub code created by .NET:
WSDL change
Before:
<xsd:element name="updateSoftKeySet" type="axlapi:UpdateSoftKeySetReq"/>
<xsd:element name="updateSoftKeySetResponse" type="axlapi:StandardResponse"/>
<xsd:complexType name="UpdateSoftKeySetReq">
<xsd:complexContent>
<xsd:extension base="axlapi:NameAndGUIDRequest">
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:sequence minOccurs="0">
<xsd:element name="removeCallStates" minOccurs="0">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element name="callState" type="axlapi:XCallStateMember" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="addCallStates" minOccurs="0">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element name="callState" type="axlapi:XCallStateMember" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:element name="callStates" minOccurs="0">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element name="callState" type="axlapi:XCallStateMember" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
After:
<xsd:element name="updateSoftKeySet" type="axlapi:UpdateSoftKeySetReq"/>
<xsd:element name="updateSoftKeySetResponse" type="axlapi:StandardResponse"/>
<xsd:complexType name="UpdateSoftKeySetReq">
<xsd:complexContent>
<xsd:extension base="axlapi:NameAndGUIDRequest">
<!--<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:sequence minOccurs="0">
<xsd:element name="removeCallStates" minOccurs="0">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element name="callState" type="axlapi:XCallStateMember" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="addCallStates" minOccurs="0">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element name="callState" type="axlapi:XCallStateMember" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:element name="callStates" minOccurs="0">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element name="callState" type="axlapi:XCallStateMember" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:sequence>-->
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
Modifying the WSDL results in a clean import and build in VS C# 2010 for me.
Alternatively instead of modifying the WSDL, you can modify the autogenerated code for UpdateSoftKeySetReq, such as via the method you found here:
http://developer.cisco.com/web/sxml/forums/-/message_boards/view_message/6194431#_19_message_6194431
Note that both of these prevent the UpdateSoftKeySetReq method from actually working, we are working on a defect to see if we can fixup the WSDL to prevent the problem in the first place.
Cisco staff responses on this forum are best effort, and there are times when we can't answer every inquiry.  For dedicated/SLA support, please consider joining the CDN Developer Support program:
http://developer.cisco.com/web/devservices
 

Hi,

Yes I believe you should be able to buy a developer support contract and log cases for precisely this.
TAC will not support your development efforts, they are there for product issues mainly.
If you need help using the developer APIs then you need a support contract.

http://developer.cisco.com/web/devservices/alldevs/supportsubscription

Plenty of free type resources on the web as well. Just do some searching.
Probably less examples of VB stuff, more Perl, Python and Java. But there is stuff around.
The latest release notes seemed to have quite a bit of information about getting the .NET stuff to generate the classes the easy way.

Cheers,

Tim

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Friday, 9 November 2012 12:45 AM
To: cdicuser@developer.cisco.com
Subject: New Message from Robert Rittenhouse in Administration XML (AXL) - Administration XML Questions: RE: Need help using AXL with VB.NET

Robert Rittenhouse has created a new message in the forum "Administration XML Questions": -------------------------------------------------------------- Is there another resource on the Internet where I can ask AXL API questions? Maybe IRC, an individual, TAC, somebody? Thanks
--
To respond to this post, please click the following link: https://developer.cisco.com/web/axl/forums/-/message_boards/view_message/8422035 or simply reply to this email.

David and Tim, Thank you very much for your responses. I would like to someday be more officially affiliated and have a Cisco Dev contract. I am just trying to see if developing my own applications could be beneficial vs just buying some tools. This is really just some personal R&D more than anything.
 
Thanks again

Hi Robert, were you able to get it to work? Otherwise, let me know since I have it working with VS 2012 (VB.NET 2010) using both: a native .NET Web Service reference and just raw SOAP calls.
 
Thanks!

I did get it working, Thanks!

I got the WSDL modified thanks t to help from this forum. I compiled the generated C# code into a DLL and then referenced that from my ASP.NET application. I am now on a roll with developing useful tools for my team.

If anybody in the future is reading this and needs help, please contact me and I will attempt to help.