I'm seeing a SWIS webservice validation error that looks like this:
Caused by: javax.xml.ws.WebServiceException: The Endpoint validation failed to validate due to the following errors: :: Invalid Endpoint Interface :: :: The operation names in the WSDL portType do not match the method names in the SEI or Web service implementation class. wsdl operations = [Query Invoke QueryXml Create Read Update BulkUpdate Delete BulkDelete ] dispatch operations = [Invoke null null Query null QueryXml null null null ]
The InformationService Java class in the SDK from Solarwinds has these methods: Query, Invoke, QueryXml.
The WSDL published by the SW server has those methods and these additional methods: Create, Read, Update, BulkUpdate, Delete, BulkDelete.
Our application hosts its own web services using axis2 and it looks like its using axis2 for WS client calls too because I found the exact error text here: http://grepcode.com/file/repo1.maven.org/maven2/org.apache.axis2/axis2-metadata/1.5.1/org/apache/axis2/jaxws/description/validator/EndpointInterfaceDescriptionValidator.java#85
Note the SDK works fine with NPM 10.0 which only supports the Query, Invoke & QueryXml methods but not with NPM 10.1. I could probably blame axis2 for not handling new methods added to the server but I need to make some progress here!
Is there any chance of getting an SDK with java classes that match the WSDL published by the server? (Or should I abandon the SDK, and generate the Java from the WSDL?)
Thanks in advance!
I recommend you just generate a new client from the 10.1 WSDL and use the non-generated part of SDK code as a guide.
We are hoping to include a basic JDBC driver for SWIS in a future version of the SDK that should simplify this for Java users.