function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
RudiRudi 

XML errors - complex types are not parsed

Hi All,

I'm working on a 4D SOAP web service that uses SForce 'query' to retreive data. The problem is that half of the objects are 'unretreivable' due to the error: "The returned XML is incorrect. : Complex types are not parsed in this version."

Most of the errors are elaborated as: "error at line X, column Y: The input ended before all started tags were ended. Last tag started was 'sf:Body'", although I have several "expected equal sign" and "expected end of tag" errors as well.

Are there any XML cases and/or exceptions that might cause this?

We've never had any problems of this type with test databases, but only with real large accounts, so I'm suspecting that something unusual (special character? tag?) in SOAP reply is causing this.

Best regards,

Rudi
DevAngelDevAngel
What environment are you developing in?
RudiRudi
I'm developing in 4D (4d.com)

Best regards,

Rudi
SuperfellSuperfell
"Complex types are not parsed in this version." is not coming from salesforce, so i assume its coming from 4d. If it doesn't support complex types, there's no way you'll be able to do anything useful with the sforce api.
enricofenricof


Rudi wrote:
I'm developing in 4D (4d.com)

Best regards,

Rudi


Rudi,

i've got the intention to look at 4d, but before, i'd like to know whether you've solved your errors or not.

Please keep me up to date.
Thanks

Regards
Enrico
RudiRudi
Hi Enrico,

no luck yet. I'm trying to capture a reply 4D web service gets from SalesForce to see what could be the offending element. However, since SF uses https captured IP packets are useless.

I've also tried the same query with provided Java and VB demoes, and they worked just fine.

Best regards,

Rudi
EnderEnder
Rudi,

If you change the https to http, salesforce will send the xml over http. It is obviously not recommended since someone can sniff your username/password on login, or the sesssion id on the redirect. But as you are just testing, and assuming you are using a free developer account and not a live client, it shouldn't be a concern.

Note: even if you login insecure, the redirect will still be defaulted to https so you need to manually change the url (or hardcode it).

Cheers.
RudiRudi
Thanks! I've tried the http connection, and it seems that XML gets cut off...

I've tried to change the batch size to avoid time-out, but whatever batch value I enter
I always get default batch size (2,000, I believe). Here's the SOAP header I've used with batch size 5:






[SessionIDgoesHere]


5





Is there anything obvious I'm missing here?



Also, here's the body of the SOAP call if needed, althought that one works just fine when call doesn't time out:


select Id,Name,Type,RecordTypeId,ParentId,BillingStreet,BillingCity,BillingState,BillingPostalCode,BillingCountry,ShippingStreet,ShippingCity,ShippingState,ShippingPostalCode,ShippingCountry,Phone,Fax,Website,Industry,AnnualRevenue,NumberOfEmployees,Ownership,Description,Rating,Site,OwnerId,CreatedDate,CreatedById,LastModifiedDate,LastModifiedById,SystemModstamp,AppleRevenueExpectedThisYear__c,AppleRevenueLastYear__c,AppleApplicationsSpecifyMacOS__c,ThirdPartyApplications__c,ToolsUsedForDevelopment__c,ServerEnv2__c,ServerEnv3__c,ServerEnv4__c,ServerEnv1__c,ServerUsage2__c,ServerEnv3Usage__c,ServerEnv4Usage__c,ServerEnv1Vendor__c,KerberosForAuthentication__c,ServerEnv2Vendor__c,ServerEnv3Vendor__c,ServerEnv4Vendor__c,ServerEnv1OS__c,ServerEnv2OS__c,EmailInfrastructure__c,ImplementedSecureMail__c,ServerEnv3OS__c,ServerEnv4OS__c,ServerEnv1Application__c,ServerEnv2Application__c,DesktopManagementsTools__c,BackupSoftwareTools__c,StorageManagementTools__c,NetworkManagementTools__c,ServerEnv3Application__c,ServerEnv4Application__c,ServerEnv1FutureNeeds__c,ServerEnv2FutureNeeds__c,ServerEnv3FutureNeeds__c,ServerEnv4FutureNeeds__c,StorageEnv1NumberofDevices__c,StorageEnv2NumberofDevices__c,StorageEnv3NumberofDevices__c,StorageEnv4NumberofDevices__c,StorageEnv1Type__c,StorageEnv2Type__c,StorageEnv3Type__c,StorageEnv4Type__c,StorageEnv1Vendor__c,MainInHouseDevTool__c,AccountObjectives255charactersmax__c,StorageEnv2Vendor__c,StorageEnv3Vendor__c,StorageEnv4Vendor__c,StorageEnv1FutureNeeds__c,StorageEnv2FutureNeeds__c,StorageEnv3FutureNeeds__c,StorageEnv4FutureNeeds__c,StorageEnv112MonthTB_Needs__c,StorageEnv212MonthTB_Needs__c,StorageEnv312MonthTBNeeds__c,StorageEnv412MonthTBeeds__c,DesktopEnv1NumberofDesktops__c,DesktopEnv2NumbeofDesktops__c,DesktopEnv1Usage__c,DesktopEnv2Usage__c,DesktopEnv1Vendor__c,DesktopEnv2Vendor__c,DesktopEnv1OS__c,DesktopEnv2OS__c,DesktopEnv1MajorApplications__c,DesktopEnv2MajorApplications__c,DesktopEnv1EMailApplications__c,DesktopEnv2EMailApplications__c,SAPAccountNumber__c,PrimaryReseller__c,CampaignSource__c,ServerEnv1NumberofServers__c,Date_of_Last_Briefing__c,Briefing_Location__c,Mac_OSX_Migration__c,Desktop_Total_Number__c,Displays_Total_Number__c,Sandy_Tracking_Acct__c,Percent_Linux__c,Standard_Implemented_for_Wireless_Access__c,Appletalk_Used__c,DHCP_Used__c,Dynamic_DNS_Setup_Used__c,Multicasting_Enabled_at_Router__c,IPX_SPX_Used__c,Mac_OSX_Server_Used__c,Net_BEUI_Used__c,TCP_IP_Used__c,Percent_Mac_OSX__c,Percent_Mac_OS_9__c,Percent_Solaris__c,Percent_UNIX__c,Percent_Windows__c,Pre_PPC_Macs__c,Pre_Pentium_PCs__c,iBooks__c,PC_Laptops__c,PowerBooks__c,X386_Based_Servers__c,Alpha_Based_Servers__c,Mac_OS_Based_Servers__c,xServe_RAIDS__c,MIPS_Servers__c,Non_Apple_PPC_Servers__c,SPARC_Based_Servers__c,Linux_Servers__c,Novell_Servers__c,UNIX_Servers__c,Windows_Servers__c,Other_Server_Platforms__c,Clustering__c,Cluster_Nodes__c,J2EE_Web_Server_s__c,Java_Servlets__c,Other_Backend_Databases__c,Types_of_Oracle_Solutions__c,Preferred_CRM_Solution__c,Implemented_Extranet_Web_Solution__c,Implemented_Virus_Protection_Software__c,Implemented_VPN_Solution__c,Depts_Using_Desktop_Video__c,Favorable_to_MSFTNet_Strategy__c,Palm_Deployment__c,Implemented_ERP_Solution__c,Windows_CE_Deployment__c,Sales_Group__c,Sales_Team_Territory__c,Credit_Limit__c,Enterprise_Purchase_Agreement_Completed__c,Live_Online_Store__c,WWDC_Membership__c,Servers_Total_Number__c,Total_Creative_Seats__c,Total_Mac_Creative_Seats__c,Most_Prevalent_Use_of_OSX__c,Main_Publishing_Workflow_Solution__c,Migration_Obstacles_give_details__c,Seats_InDesign__c,Seats_Quark_Classic__c,Seats_Quark_6_and_up__c,APP_Covered_CPUs__c,On_SW_Maint_for_Clients__c,On_SW_Maint_for_Servers__c,Using_Helpdesk_Solution__c,Using_Apple_Entr_Support_Plan__c,Implemented_Directory_Service_Solution__c,Non_Apple_Consumer_Desktops__c,Non_Apple_Consumer_Laptops__c,Non_Apple_Pro_Desktops__c,Non_Apple_Pro_Laptops__c,Non_Apple_Displays__c,iMac__c,PowerMacs__c,Apple_Displays__c,Laptops_Total_Number__c,CCN_related_to_this_account__c,Inacticve__c,EPP_in_place__c,ADC_membership_active__c,Entity_Type__c,Depts_with_Macs__c,Issues_with_Viruses__c,Number_of_Data_Ctrs__c,Primary_Enterprise_OS__c,Server_Strategy__c,Direct_Price_Tier__c from Account

[queryGoesHere]




Thanks,

Rudi
SuperfellSuperfell
You appear to have the QueryOptions header inside the SessionHeader header, it should be its own stand alone heaader element.
RudiRudi
Thanks Simon, that worked!