Need help using AXL with VB.NET

Version 1
    This document was generated from CDN thread

    Created by: Robert Rittenhouse on 16-10-2012 11:07:52 AM
    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

    Subject: RE: Need help using AXL with VB.NET
    Replied by: Robert Rittenhouse on 08-11-2012 07:44:30 AM
    Is there another resource on the Internet where I can ask AXL API questions? Maybe IRC, an individual, TAC, somebody? Thanks

    Subject: RE: Need help using AXL with VB.NET
    Replied by: David Staudt on 08-11-2012 04:20:44 PM
    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
     

    Subject: RE: New Message from Robert Rittenhouse in Administration XML (AXL) - Admin
    Replied by: Tim Smith on 08-11-2012 07:56:48 PM
    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.

    Subject: RE: Need help using AXL with VB.NET
    Replied by: Robert Rittenhouse on 09-11-2012 06:29:18 AM
    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

    Subject: RE: Need help using AXL with VB.NET
    Replied by: Leandro Wajswajn on 17-12-2012 09:53:48 PM
    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!

    Subject: RE: Need help using AXL with VB.NET
    Replied by: Robert Rittenhouse on 27-12-2012 07:29:28 AM
    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.