Forum Discussion

E_Lenny_Brown_1's avatar
E_Lenny_Brown_1
Icon for Nimbostratus rankNimbostratus
Nov 23, 2005

SOAPException trying get_wideip_list

I have modified the java sample "GlobalLBGlobal.java to try and do a get_wide_ip_list.

 

 

In this block of code:

 

 

call.setMethodName("get_wideip_list");

 

Response resp = call.invoke(destURI, urn);

 

 

where:

 

 

destURI=https://3dns.srv.metro1.com:443/iControl/iControlPortal.cgi

 

urn=urn:iControl:ITCMGlobalLB/Wideip

 

 

I get:

 

 

[SOAPException: faultCode=SOAP-ENV:Client; msg=Unable to set 'number_pools' property: argument type mismatch.; targetException=java.lang.IllegalArgumentException: Unable to set 'number_pools' property: argument type mismatch.]

 

at org.apache.soap.rpc.Call.invoke(Unknown Source)

 

at GlobalLBGlobal.getProperty(GlobalLBGlobal.java:104)

 

at GlobalLBGlobal.queryGlobals(GlobalLBGlobal.java:127)

 

at GlobalLBGlobal.main(GlobalLBGlobal.java:137)

 

 

I am at a loss why the error is occuring.

 

 

I am using sdk 4.6.3 and the GlobalLBGlobal worked great as well as the other samples.

 

 

Any hints?

 

  • This is a bug in the local bindings in the SDK. Basically, the bindings specify that the number_pools member in the WideipBriefAttribute structure is of type short but the type in the SOAP response is specified as an integer. This is what is causing the type conflict.

     

     

    I'll work on getting a patched version of the 4.6.3 SDK updated on this site. In the mean time if you change all references of "short" to "int" in the files in the support/SOAP/java/shared directory of your SDK and re-compile you should be all set.

     

     

    -Joe