{"id":15984693,"url":"https://github.com/aappddeevv/mscrm-soap-auth","last_synced_at":"2025-04-04T20:46:14.579Z","repository":{"id":97609852,"uuid":"65637926","full_name":"aappddeevv/mscrm-soap-auth","owner":"aappddeevv","description":"Demonstrates MS CRM auth for CRM online using scala.","archived":false,"fork":false,"pushed_at":"2017-01-01T23:44:09.000Z","size":228,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T05:26:06.325Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aappddeevv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-13T21:36:11.000Z","updated_at":"2016-08-13T21:38:11.000Z","dependencies_parsed_at":"2023-04-26T07:18:01.222Z","dependency_job_id":null,"html_url":"https://github.com/aappddeevv/mscrm-soap-auth","commit_stats":{"total_commits":26,"total_committers":1,"mean_commits":26.0,"dds":0.0,"last_synced_commit":"048690075278c76da035952f427219b6ff0ebc9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aappddeevv%2Fmscrm-soap-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aappddeevv%2Fmscrm-soap-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aappddeevv%2Fmscrm-soap-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aappddeevv%2Fmscrm-soap-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aappddeevv","download_url":"https://codeload.github.com/aappddeevv/mscrm-soap-auth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249602,"owners_count":20908211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T02:10:10.576Z","updated_at":"2025-04-04T20:46:14.562Z","avatar_url":"https://github.com/aappddeevv.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Overview\nThis is a slightly tweaked version of authentication using SOAP to CRM\nthat was taken from [https://github.com/jlattimer/CRMSoapAuthJava.git](https://github.com/jlattimer/CRMSoapAuthJava.git)\nand [https://blogs.msdn.microsoft.com/girishr/2011/02/04/connecting-to-crm-online-2011-web-services-using-soap-requests-only](https://blogs.msdn.microsoft.com/girishr/2011/02/04/connecting-to-crm-online-2011-web-services-using-soap-requests-only).\n\nIt was updated for scala and dispatch. Because the example now uses\nscala's XML literal syntax, the SOAP templates are also much clearer.\n\nThe artifacts are not published to maven yet, so just publish\nto your local repository: publish-local.\n\nThere is a main program you can use to run some specialized commands or you can use it as a library.\n\nTo create runnable packages (e.g. a that runs the main program) use: `sbt universal:packageBin`\n\nCRM can be quite slow when returing results from online, if the info log level is set,\nwhich is the default, then you can tail the mscrm-auth.log file to watch the incremental\ndata and results being requested and fetched. The debug log level is very verbose and\nnot suitable for normal use.\n\nThe library is designed to be a swiss army knife. It can be used for high performance data dumping, obtaining WSDL\nfiles from your org service or listing all the endpoints available to you in your region. It can also\nhelp with unit testing. The command line\noptions are a bit cumbersome so you can succinctly control the performance envelope. Some command line options\ndo not work yet, but I'll be updating them shortly.\n\n## Capabilities\nmetadata\n* Download an org's metadata describing the entities.\n\ndiscovery\n* Download your discovery WSDL.\n* List endpoints given your userid, password and region.\n* Find a given org data services SOAP URL given an username/password and web app URL.\n\nauth\n* Run a whoami to confirm your ability to login.\n\nquery\n* Count all entities in an org.\n* Dump attributes for an entity to a file, basically an extract to CSV. The download can\nrun very fast if you first create a \"key\" partition, it shoud be the fastest downloader\nthat is only constrained by memory size. Formatted values can be downloaded and some\ntypes of CRM values are \"expanded\" automatically into multiple attributes. You can\nrestrict the attributes downloaded through an attributes file (see metadata).\n* Create a spreadsheet friendly list of enities and attribute for customizing the download.\n\nentity\n* Run a json entity script that allows you to create and modify entities as well as\nrun user-defined callbacks in between. This helps you programatically and consistently\ncreate and change data while performing checks on the data in between to validate that\nwhat you expected to happen, happened. The scripts are json oriented so you can directly\ntype them in. This takes the place of Excel loading and manual data management for\nunit tests.\n\nother\n\n\ncopy/replication\n* Create a copy on an RDBMS and keep updating it using simple CDC. Only a few\nsteps are needed to create a local RDBMS schema using this program, copy down\nthe data then keep the local copy updated. The RDBMS copy is designed to be\na REPL that you draw from locally versus a targeted application database\nschema e.g. a data warehouse or reporting database. The generated schema does\nnot enforce referential integrity in order to make it easy to load and manipulate.\n\nOther\n* Run --help to print show other capabilities.\n\n\n\n## Thanks\nMany thanks to contributors, a particular person in general recently who remains anonymous\nbut was instrumental in pushing this application forward. This person found many\nerrors and and built out some nascent capabilities.\n\n\n## Notes\n\nMiscellaneous notes:\n* DDL generation library: Looked at empire-db and ddlutils but both are embedded and\nspecialized for their respective parent packages. Other packages\nare available but are not cleanly separable from their parent packages. Had to role my own. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faappddeevv%2Fmscrm-soap-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faappddeevv%2Fmscrm-soap-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faappddeevv%2Fmscrm-soap-auth/lists"}