TypeMapper throws error on generated stub when called from Kotlin
- Dominant language
- Java
- Stars
- 276
- Forks
- 223
- PR merge metrics
- No merged PRs in 30d
Description
While retrieving an object from our SalesForce Enterprise API this library throws the following error:
```
com.sforce.ws.ConnectionException: Incompatible type 'class com.sforce.soap.enterprise.sobject.TrainingSeries__c' specified as xsi:type. It must be a subclass of 'class com.sforce.soap.enterprise.sobject.SObject'
at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:627)
at com.sforce.ws.bind.TypeMapper.readArray(TypeMapper.java:580)
at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:558)
at com.sforce.soap.enterprise.RetrieveResponse_element.setResult(RetrieveResponse_element.java:46)
at com.sforce.soap.enterprise.RetrieveResponse_element.loadFields1(RetrieveResponse_element.java:105)
at com.sforce.soap.enterprise.RetrieveResponse_element.loadFields(RetrieveResponse_element.java:81)
at com.sforce.soap.enterprise.RetrieveResponse_element.load(RetrieveResponse_element.java:75)
at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:674)
at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:556)
at com.sforce.ws.transport.SoapConnection.bind(SoapConnection.java:180)
at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:154)
at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99)
at com.sforce.soap.enterprise.EnterpriseConnection.retrieve(EnterpriseConnection.java:682)
```
The `com.sforce.soap.enterprise.sobject.TrainingSeries__c` class has been generated from our WSDL and extends `com.sforce.soap.enterprise.sobject.SObject`, so I don't see why this error would occur.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with TypeMapper.java at readSingle, then inspect the generated TrainingSeries__c class and its SObject superclass. Reproduce the Enterprise API retrieve call described in the stack trace and trace why the xsi:type subclass check rejects it. Done means the generated object is accepted without the reported ConnectionException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100