Errors in WSDL when imported into Eclipse or NetBeans IDE

Unanswered Question
Mar 6th, 2007

I have tried to import the AXL WSDL into both NetBeans 5.5 and Eclipse 3.2 IDE and got errors. In this forum I found that this problem has been reported to Cisco many times. Do we have a work around? I tried it on CCM 4.0(1). Has it been fixed in later releases on CCM? I wonder if we need to upgrade out CCM just for this?

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (2 ratings)
stephan.steiner Wed, 03/07/2007 - 06:29

Starting with CCM 5.1, Cisco provides a modified version and instructions on how to auto-generate classes from it.. it only works with a specific framework (not sure it's the same NetBeans / Eclipse use), but it's the only thing there is. You'll find a modified WSDL file posted here in the forum - I' not sure for which version - that you can import into certain frameworks, but basically AXL means either hacking the WSDL and XSD files, or writing your own code. We have developed a rather extensive framework manually here and at this point haven't decided if we'll really abondon it or wait until Cisco will provide autogenerated WSDL files (the one with CCM 5.1 is still a handjob and I can't help but feel somewhat suspicious towards any manually edited files.. webservices are supposed to be about automatically generated interface definitions)..

msabir Wed, 03/07/2007 - 06:46

Eclipse and NetBeans use JAX-WS or JAX-RPC, both of these APIs are standard based and support at the minimal WSDL 1.1 and SOAP 1.1. So if Cisco's WSDL is compliant with these standards, I don't see any problem with importing it. Folks have reported same problems on this form when importing Cisco's WSDL with VisualStudio.Net. I have been able to import amazon's huge WSDL with no problem. Why is it so difficult for Cisco to come up with a standard based WSDL. There are tools available to help them generate this.

I tried to find the modified WSDL in this forum but looks like those attachments have expired and I can't download them any more. Can anyone post modified/fixed WSDL for different CCM versions?

stephan.steiner Thu, 03/08/2007 - 01:44

umm.. am I blind? I thought I had just posted here.

Anyway.. with CCM 5.1.1 you get a WSDL that you can import with AXIS 1.4 and wsdl.exe. With earlier versions, you're off to some manual hacking on your own.

I didn't write the webserver plugin for AXL, but I suspect the reason for this whole mess is the following: instead of using a webservice toolkit, Cisco simply wrote their own (ISAP for CCM 4.x) plugin that goes through requests line by line and analyzes them.. everything done manually. It doesn't even validate XML and in CCM 5.0.4 you can send invalid XML data (including corrupt AXL requests) to the CCM and it will be processed (in many cases you even get information back.. e.g. you can mix getphone and getline and you get a valid getphone response)) and it will get you a valid response (other than "incorrect xml"). This would also explain why the order of the xml elements is crucial.. if they had a regular webservice framework, the order would not matter as elements would be extracted from a request via dom/xquery lookups (that's how my own axl framework does it.. both require xml validation so any invalid xml axl would return would immediately trigger an error.. on the other hand, switched element order doesn't matter to my framework).

With that in mind, it's clear that every WSDL file is hand written and unless they start from scratch with a webservice capable framework (I suspect it's written in C(++) so it's not as simply as copying and pasting code into java files and have the whole thing run as a tomcat app and use JAX to export the WSDL file), AXL will continue to be a mess.

msabir Thu, 03/08/2007 - 10:13

Folks, if you have already taken your time and effort to fix Cisco's WSDL for various CCM versions, why don't you post it here for everyone's benefit. I saw a few posts here, but all the files had expired and I couldn't download them.



This Discussion