I'm trying to use readMetadata in the metadata API to download various things about an org. This works great for most everything but base64 values are always truncated..
Here's my test aura component:
<aura:component implements="flexipage:availableForRecordHome,force:hasRecordId" access="global" >
<p>Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat
cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.</p>
</aura:component>
Here's a request I send to soapui to test:
<soapenv:Envelope ...>
<soapenv:Header>
<met:SessionHeader>
<met:sessionId>yadda.yadda</met:sessionId>
</met:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<met:readMetadata>
<met:type>AuraDefinitionBundle</met:type>
<met:fullNames>MetadataApiTest</met:fullNames>
</met:readMetadata>
</soapenv:Body>
</soapenv:Envelope>
The response:
<soapenv:Envelope ...>
<soapenv:Body>
<readMetadataResponse>
<result>
<records xsi:type="AuraDefinitionBundle">
<fullName>MetadataApiTest</fullName>
<apiVersion>52.0</apiVersion>
<auraDefinitions>
<auraDefinition>
<defType>1(db=1,api=CONTROLLER)</defType>
<source>KHsKCW15QWN0aW9uIDogZnVuY3Rpb24oY29tcG9uZW50LCBldmVudCwgaGVscGVyKSAKICAgIHsKICAgICAgICB2YXIgeCA9IDE7CiAgICAgICAgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyAKICAgICAgICB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IAogICAgICAgIHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgCiAg</source>
</auraDefinition>
<auraDefinition>
<defType>2(db=2,api=COMPONENT)</defType>
<source>PGF1cmE6Y29tcG9uZW50IGltcGxlbWVudHM9ImZsZXhpcGFnZTphdmFpbGFibGVGb3JSZWNvcmRIb21lLGZvcmNlOmhhc1JlY29yZElkIiBhY2Nlc3M9Imdsb2JhbCIgPgoJPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgCiAgICAgICAgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIAogICAgICAgIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQg</source>
</auraDefinition>
</auraDefinitions>
<controllerContent>KHsKCW15QWN0aW9uIDogZnVuY3Rpb24oY29tcG9uZW50LCBldmVudCwgaGVscGVyKSAKICAgIHsKICAgICAgICB2YXIgeCA9IDE7CiAgICAgICAgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyAKICAgICAgICB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IAogICAgICAgIHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgeCsrOyB4Kys7IHgrKzsgCiAg</controllerContent>
<description>here is a description.</description>
<markup>PGF1cmE6Y29tcG9uZW50IGltcGxlbWVudHM9ImZsZXhpcGFnZTphdmFpbGFibGVGb3JSZWNvcmRIb21lLGZvcmNlOmhhc1JlY29yZElkIiBhY2Nlc3M9Imdsb2JhbCIgPgoJPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgCiAgICAgICAgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIAogICAgICAgIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQg</markup>
<type>Component</type>
</records>
</result>
</readMetadataResponse>
</soapenv:Body>
</soapenv:Envelope>
When I decode the response, I get only this much:
<aura:component implements="flexipage:availableForRecordHome,force:hasRecordId" access="global" >
<p>Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua. Ut enim ad
All base64 values that I see get truncated at about this same size (or maybe this exact size - I have not checked).
I see types like profiles having no problem returning 500kb responses, so I don't think it's a size issue.
I'm not using a wsdl - this is building the requests and parsing the responses 'by hand', because I'm a glutton for punishment or something. Everything else works and the base64 responses are short but look fine otherwise.
Any help?