forcedotcom / forcedotcom/wsc

TypeMapper throws error on generated stub when called from Kotlin

Open
#233 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.