1

Using Partner WSDL(API Version: 34.0) we have generated Salesforce Client using Axis. In case user has created a Lightning Page of type "Record Page" for a given object in that case actionOverrides for type "View" is automatically being added with "url" value as null, but Partner WSDL expects the "url" to be not null and because of that describeSObject for that particular object fails through Salesforce client.

WSDL Snippet:

<complexType name="ActionOverride">
    <sequence>
        <element name="isAvailableInTouch" type="xsd:boolean"/>
        <element name="name" type="xsd:string"/>
        <element name="pageId" type="tns:ID"/>
        <element name="url" type="xsd:string"/>
    </sequence>
</complexType>

"View" type actionOverride generated because of lightning page of type "Record Page":

<actionOverrides>
    <isAvailableInTouch>false</isAvailableInTouch>
    <name>View</name>
    <pageId>0M090000000GnVCCA0</pageId>
    <url xsi:nil="true"/>
</actionOverrides>

Note that value for "url" is set to null/xsi:nil="true" and because of that when we try to describe this object using describeSObject method using Salesforce client it fails with following error:

org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: The element: url  cannot be null
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) ~[axis2-kernel-1.6.2.jar:1.6.2]
    at com.sforce.soap.partner.SforceServiceStub.fromOM(SforceServiceStub.java:27652) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.SforceServiceStub.describeSObject(SforceServiceStub.java:17202) ~[sfdc-client-34.0.jar:?]
    ... 21 more
Caused by: java.lang.Exception: org.apache.axis2.databinding.ADBException: The element: url  cannot be null
    at com.sforce.soap.partner.ActionOverride$Factory.parse(ActionOverride.java:656) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.DescribeSObjectResult$Factory.parse(DescribeSObjectResult.java:2288) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.DescribeSObjectResponse$Factory.parse(DescribeSObjectResponse.java:410) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.SforceServiceStub.fromOM(SforceServiceStub.java:26904) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.SforceServiceStub.describeSObject(SforceServiceStub.java:17202) ~[sfdc-client-34.0.jar:?]
    ... 21 more
Caused by: org.apache.axis2.databinding.ADBException: The element: url  cannot be null
    at com.sforce.soap.partner.ActionOverride$Factory.parse(ActionOverride.java:627) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.DescribeSObjectResult$Factory.parse(DescribeSObjectResult.java:2288) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.DescribeSObjectResponse$Factory.parse(DescribeSObjectResponse.java:410) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.SforceServiceStub.fromOM(SforceServiceStub.java:26904) ~[sfdc-client-34.0.jar:?]
    at com.sforce.soap.partner.SforceServiceStub.describeSObject(SforceServiceStub.java:17202) ~[sfdc-client-34.0.jar:?]
    ... 21 more

Looks like either WSDL should be updated with or creation of "Record Page" should handle this appropriately so that we don't get this error.

Note: Latest Partner WSDL also has same issue.

Record Page - Lightning Page

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.