Create Offline Symbol Table Problem

Issue #35 resolved
Sergey Trusov created an issue

unexpected element (uri:"http://soap.sforce.com/2006/04/metadata", local:"restrictedPicklist"). Expected elements are <{http://soap.sforce.com/2006/04/metadata}picklistValues>,<{http://soap.sforce.com/2006/04/metadata}sorted>,<{http://soap.sforce.com/2006/04/metadata}controllingField>

Comments (18)

  1. Scott Wells repo owner

    Escalating to blocker status. At least one other user is seeing a similar issue processing a response from the metadata API, so this one goes straight to the top of my list!

  2. Scott Wells repo owner

    Here's another variation on this class of issues reported by Matej Pinter:

    unexpected element (uri:"http://soap.sforce.com/2006/04/metadata", local:"displayLocationInDecimal"). Expected elements are <{http://soap.sforce.com/2006/04/metadata}summaryFilterItems>,<{http://soap.sforce.com/2006/04/metadata}summaryOperation>,<{http://soap.sforce.com/2006/04/metadata}relationshipName>,<{http://soap.sforce.com/2006/04/metadata}writeRequiresMasterRead>,<{http://soap.sforce.com/2006/04/metadata}reparentableMasterDetail>,<{http://soap.sforce.com/2006/04/metadata}inlineHelpText>,<{http://soap.sforce.com/2006/04/metadata}restrictedAdminField>,<{http://soap.sforce.com/2006/04/metadata}customDataType>,<{http://soap.sforce.com/2006/04/metadata}referenceTargetField>,<{http://soap.sforce.com/2006/04/metadata}defaultValue>,<{http://soap.sforce.com/2006/04/metadata}isNameField>,<{http://soap.sforce.com/2006/04/metadata}picklist>,<{http://soap.sforce.com/2006/04/metadata}deprecated>,<{http://soap.sforce.com/2006/04/metadata}precision>,<{http://soap.sforce.com/2006/04/metadata}lookupFilter>,<{http://soap.sforce.com/2006/04/metadata}type>,<{http://soap.sforce.com/2006/04/metadata}required>,<{http://soap.sforce.com/2006/04/metadata}isFilteringDisabled>,<{http://soap.sforce.com/2006/04/metadata}startingNumber>,<{http://soap.sforce.com/2006/04/metadata}scale>,<{http://soap.sforce.com/2006/04/metadata}description>,<{http://soap.sforce.com/2006/04/metadata}encrypted>,<{http://soap.sforce.com/2006/04/metadata}unique>,<{http://soap.sforce.com/2006/04/metadata}trackTrending>,<{http://soap.sforce.com/2006/04/metadata}populateExistingRows>,<{http://soap.sforce.com/2006/04/metadata}relationshipLabel>,<{http://soap.sforce.com/2006/04/metadata}trackHistory>,<{http://soap.sforce.com/2006/04/metadata}maskChar>,<{http://soap.sforce.com/2006/04/metadata}escapeMarkup>,<{http://soap.sforce.com/2006/04/metadata}trackFeedHistory>,<{http://soap.sforce.com/2006/04/metadata}formula>,<{http://soap.sforce.com/2006/04/metadata}summaryForeignKey>,<{http://soap.sforce.com/2006/04/metadata}relationshipOrder>,<{http://soap.sforce.com/2006/04/metadata}caseSensitive>,<{http://soap.sforce.com/2006/04/metadata}visibleLines>,<{http://soap.sforce.com/2006/04/metadata}maskType>,<{http://soap.sforce.com/2006/04/metadata}stripMarkup>,<{http://soap.sforce.com/2006/04/metadata}externalDeveloperName>,<{http://soap.sforce.com/2006/04/metadata}referenceTo>,<{http://soap.sforce.com/2006/04/metadata}formulaTreatBlanksAs>,<{http://soap.sforce.com/2006/04/metadata}length>,<{http://soap.sforce.com/2006/04/metadata}deleteConstraint>,<{http://soap.sforce.com/2006/04/metadata}displayFormat>,<{http://soap.sforce.com/2006/04/metadata}fullName>,<{http://soap.sforce.com/2006/04/metadata}externalId>,<{http://soap.sforce.com/2006/04/metadata}summarizedField>,<{http://soap.sforce.com/2006/04/metadata}isSortingDisabled>,<{http://soap.sforce.com/2006/04/metadata}label>

  3. Scott Wells repo owner

    Made the SOAP API client more resilient to unexpected elements in the response through CXF/JAXB configuration. Uploading new builds now.

  4. Scott Wells repo owner

    Thanks, Sergey. If you don't mind, can you provide some additional diagnostic information such as what you were doing at the time (presumably generating the offline symbol table) and any relevant stack traces from idea.log (Help>Show Log in Explorer or similar)? Also, what version of IDEA are you using? There are some differences in the API client in IDEA 12 vs 13 vs 14, though I doubt that's coming into play. That info will help me track own what's going on here so that I can provide a fix for this! Sorry for the issues!

  5. Scott Wells repo owner

    Sergey, I've just uploaded a new build that I hope resolves this issue. I'm going to leave this ticket open until I hear back from you one way or the other, though. Again, thank you for your patience as I address these problems!

  6. Sergey Trusov reporter

    There are a lot of following message: ellij.concurrency.JobScheduler - 50 ms execution limit failed for: com.intellij.openapi.progress.impl.CoreProgressManager$1@623d5e; elapsed time was 56534ms in the log. And Idea crashed by Java heap space exception. I just try to generate Offline Symbol Table.

  7. Scott Wells repo owner

    Okay. I certainly understand that this may be frustrating for you, but I will get you to the other side so that you can start to explore the real features! Could you provide me with the relevant stack traces from idea.log so that I can determine which exact API calls are causing this issue? I suspect that your org is pretty densely populated and one of the API calls is returning a huge response that, when processed, is causing this. If I can isolate the call, I can look at options for processing the response in smaller batches to ensure this doesn't happen. Thanks!

  8. Matej Pinter

    In version 1.0.2b I managed to get working few orgs, but there are still few problems. What I have done so far:

    I have manually picked what to download and what not. I only selected components, pages, classes and triggers. I think the rest of metadata just confuses everything up and it starts to throw strange errors, sometimes doesn't even want to copy code from user directory into working one. Building OST seems to work that way as well much better and with much less errors.

    Keep up the good work, I have managed to actually start using IDEA today on one org.

  9. Scott Wells repo owner

    So I just compared the WSDLs generated from my org with the ones used by the open source Force.com IDE and for some reason mine are missing a large amount. I'll update mine to match, regenerate my clients, and spin new builds in a bit. Hopefully that puts this to rest.

  10. Scott Wells repo owner

    Okay, I just uploaded build 1.0.3 that is now using API clients based on the same WSDLs used by the Force.com IDE. These WSDLs were VERY different from those generated from my own orgs and include the same elements that were causing the original issues, e.g., restrictedPicklist, so I think/hope this may be the true root cause of many of the issues you have both been seeing. It's certainly odd that I and the private beta testers haven't been seeing this over the past several months, but it's even more odd that my WSDLs differ so much from these new presumably authoritative ones. Please let me know if this build helps not just with offline symbol table generation but also with the issues you've been seeing in metadata retrieval which would also certainly be affected by this.

    Sergey, I don't expect this to address your issue above with the heap space exception. For that I'll need to know which API calls are causing that issue so I can see if there's a way to batch through the results. Assuming that continues to happen for you, please provide any relevant stack traces from idea.log and I'll get to the bottom of that as well.

    As always, thanks much for the patience! Trust me...I'm looking forward to seeing the other side of this class of issues as much as you guys!

  11. Matej Pinter

    Yes 1.0.3 is working much better! Haven't seen any errors so far, but I'm only retrieving only metadata I need. This plug-in is starting to look promising now. Just one more thing if you may add in next patch. Now if I change something in org (new field or object) I have to retrieve metadata again and build OST again to have autocomplete fully functional an updated to last changes. Currently this "generate" button is very hidden in settings, could you also give us number in build menu, where is already submenu of plugin?

  12. Scott Wells repo owner

    Great to hear! So odd about the difference in WSDLs, but glad to have gotten to the bottom of that. Your point about a quick and convenient way to refresh a small subset of the OST is definitely understood. I've already provided one aspect of that where if you deploy .object files through IC, it will automatically re-generate the OST for those SObjects post-deployment. That doesn't address the use case you describe where you're modeling your SObjects in the org and want the latest-and-greatest available locally for completion purposes. I'll open a new enhancement issue here and see if I can address it quickly.

    Please keep me posted on how it goes, and of course once again thanks for the patience and assistance!

  13. Scott Wells repo owner

    Hi, Sergey. Just thought I'd check in and see if you'd tried a newer build. And of course, if so, if it seemed to get you past the issues you were having. Thanks much!

  14. Sergey Trusov reporter

    I tried create project with minimum metadata selection and all is ok. I will try to create project with a lot of metadata selection.

  15. Scott Wells repo owner

    Okay, thanks for following up and glad you were able to make progress. If you do find an issue with large/full metadata selection, please pull any relevant stack traces/diagnostic information from idea.log and attach it here. I'll take a look and try to understand why it's giving you problems and how I can fix them.

  16. Scott Wells repo owner

    The last activity on this issue was over a week ago. Hopefully I've knocked out the major issues here. Feel free to reopen if you're still experiencing these issues.

  17. Log in to comment