Vince_Marco_969
Dec 10, 2007Nimbostratus
Generic Axis method execution...
Is it possible to send a generic Axis service call to iControl? Perhaps someone can help me find my problem. I am basically adapting a "get_pool_status" to 9.x. What I am getting is:
13:16:36,220 ERROR [STDERR] AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: Unknown method "{urn:iControl:ITCMGlobalLB/Pool}:get_enabled_state"
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:Unknown method "{urn:iControl:ITCMGlobalLB/Pool}:get_enabled_state"
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
My code is as follows:
String endpoint = "https://" + host + ":443/iControl/iControlPortal.cgi";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
if (f5update)
{
call.setOperationName(new QName("urn:iControl:ITCMGlobalLB/Pool", "get_enabled_state"));
call.setUsername(user);
call.setPassword(passwd);
call.addParameter("pool_name", XMLType.SOAP_ARRAY, ParameterMode.IN);
call.setReturnType(XMLType.SOAP_ARRAY);
Integer[] reply = (Integer[]) call.invoke(new Object[] { pool });
result = (reply[1] == 1);
}
I tried building the iControl sdk, but ran into numerous errors due to "enum" being used as a variable, and I'm on JDK 1.5. Is there a known way around this?
Vince