C/C++
This is compiled with Genivia gSOAP. The recommended version is 2.8.17r. gSOAP is copyrighted by Robert A. van Engelen, Genivia, Inc.
#include <iostream>
#include "soapWebServicePortBindingProxy.h"
#include "WebServicePortBinding.nsmap"
#include "plugin/wsseapi.h"
using namespace std;
static const char *library = "https://library.company.com/WebService/1.0.0";
int main(int argc, char **argv)
{
WebServicePortBindingProxy proxy;
ns1__getLibraryComplex getLibraryComplex;
ns1__getLibraryComplexResponse getLibraryComplexResp;
if (soap_ssl_client_context(proxy.soap, SOAP_SSL_NO_AUTHENTICATION, NULL, NULL, NULL, NULL, NULL)) {
soap_print_fault(proxy.soap, stderr);
}
soap_wsse_add_Security(proxy.soap);
soap_wsse_add_UsernameTokenText(proxy.soap, "Id", "admin", "password1");
if(proxy.getLibraryComplex(library, NULL, &getLibraryComplex, &getLibraryComplexResp)) {
proxy.soap_stream_fault(cerr);
exit(-1);
}
cout << "Name: " << *(getLibraryComplexResp.libraryComplex->name) << endl;
cout << "Ready: " << (getLibraryComplexResp.libraryComplex->ready ? "TRUE" : "FALSE") << endl;
cout << "Libraries: " << getLibraryComplexResp.libraryComplex->counts->libraryCount << endl;
cout << "Partitions: " << getLibraryComplexResp.libraryComplex->counts->partitionCount << endl;
cout << "Devices: " << getLibraryComplexResp.libraryComplex->counts->deviceCount << endl;
cout << "Drives: " << getLibraryComplexResp.libraryComplex->counts->driveCount << endl;
cout << "Drive Bays: " << getLibraryComplexResp.libraryComplex->counts->driveBayCount << endl;
cout << "Cells: " << getLibraryComplexResp.libraryComplex->counts->cellCount << endl;
cout << "Robots: " << getLibraryComplexResp.libraryComplex->counts->robotCount << endl;
soap_end(proxy.soap);
}