Some elements have changed namespace between v34.0 and v35.0. E.g. In v34.0 the soapType enumerations location and address were in the urn namespace ("urn:partner.soap.sforce.com"). In v35.0 They are now in the tns namespace(xmlns:tns="urn:partner.soap.sforce.com"). we have done code changes changing the references used in our code from urn to tns. But I have the integration projects developed in older version of the partner wsdl(which is using the urn namespace). If we run the same projects in the latest partner wsdl(with the tns namespace),
This 2 location and address in version 31.0
enumeration value="**urn:**location" enumeration value="**urn:**address"
in version 36.0
enumeration value="tns:location" enumeration value="tns:address"
Problem 1: I am hitting the following error with retrieve and query activities of mine.
java.lang.NullPointerException at com.approuter.module.sfdc.metadata.SObjectFieldHelper.skipField(SObjectFieldHelper.java:223) at com.approuter.module.sfdc.metadata.SObjectFieldHelper.getFields(SObjectFieldHelper.java:297) at com.approuter.module.sfdc.metadata.SObjectFieldHelper.getFields(SObjectFieldHelper.java:286) at com.approuter.module.sfdc.soql.ObjectResult.(ObjectResult.java:60) at com.approuter.module.sfdc.soql.Query.validateFrom(Query.java:323) at com.approuter.module.sfdc.soql.Query.validate(Query.java:224) at com.approuter.module.sfdc.soql.SoqlMetaData.(SoqlMetaData.java:97) at com.approuter.module.sfdc.activity.QueryObjectsActivity.validate(QueryObjectsActivity.java:127) at com.approuter.module.sfdc.activity.SfdcLanguageActivity.activate(SfdcLanguageActivity.java:71)
Null pointer exception is at the place skipfield we does this operation on this " if(field.getSoapType().name().toString().toLowerCase().contains("trn_address")"
Might be with partner wsdl version 31.0 this operation below operation is not valid field.getSoapType() which contains trn_address will return "Null". This breaks all our integration flows.
Problem 2: And on retrieve activity we are facing following error even in the 36.0 version :
Invalid QName value: Can't resolve prefix 'tns' org.apache.xmlbeans.XmlException: error: Invalid QName value: Can't resolve prefix 'tns' at org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:225)
Please suggest the solution for this cases.