We have downloaded the Partner.wsdl version 37.0 from Salesforce, which we use with our application to connect to Salesforce(using AXIS) to read/write records and to build the metadata locally read from Salesforce using the Salesforce API 37. To build metadata we use the Salesforce API describeSObjects() Previously we did the same for API version 32, that time we could build the metadata objects using the " https://login.salesforce.com/services/Soap/u/32", as well as any lower version of the API
But now when we have done the same procedure with API 37, we can only access the Salesforce Metadata Objects using API 37, "https://login.salesforce.com/services/Soap/u/37.0". If we try with any older API version like API 36 or API 35, it throws the excepotion as mentioned below
[10/28/16 24:42:21:324 IST] 561 org.apache.axis.client.Call invoke SEVERE Exception: java.lang.IllegalArgumentException at org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement(SimpleDeserializer.java:176) at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:502) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384) at org.apache.axis.client.Call.invoke(Call.java:2467) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.sforce.soap.partner.SoapBindingStub.describeSObjects(SoapBindingStub.java:4088) at com.ibm.is.erp.salesforce.core.SalesForceRepository.retrieveObjectsAttributes(SalesForceRepository.java:301)
Is this an expected behavior