go to post Keren Skubach · Oct 18, 2023 Hi Colin, I would suggest activating the ISCSOAP log - it will show you all the raw SOAP data getting in and out of Ensemble. see here: https://docs.intersystems.com/irisforhealth20223/csp/docbook/DocBook.UI.... Keren.
go to post Keren Skubach · Nov 9, 2017 Can you show the top visual view of the DTL? It seems that there should be different hierarchy.i.e. source.Message.Record(k1).OrganizationCode
go to post Keren Skubach · Sep 8, 2016 In addition, here is a sample for updating an attribute in LDAP - First you need to search for the correct entry in LDAP so you would be update it.Method UpdateSingleValue(pRequest As LDAP.REQ.SetSingleValueAttributes, Output pResponse As LDAP.RES.SetSingleValueAttributes) As %Status{ #dim tEntries as %Net.LDAP.Client.Entries #dim ent as %Net.LDAP.Client.Entry Set pResponse=##class(LDAP.RES.SetSingleValueAttributes).%New() try { // sample input data //set pRequest.UserName="kerensk" //set x=##class(LDAP.REQ.AttributeInfo).%New() //set x.AttributeName="employeeID" //set x.AttributeValue="12345" //set y=##class(LDAP.REQ.AttributeInfo).%New() //set y.AttributeName="countryCode" //set y.AttributeValue="33" //do pRequest.AttributeNames.Insert(x) //do pRequest.AttributeNames.Insert(y) // prepare search parameters set Filter="SAMAccountName="_pRequest.UserName if pRequest.AttributeNames.Count()=0 { set pResponse.Success=0 set pResponse.ErrorMessage="Empty attributes list" quit } if pRequest.UserName="" { set pResponse.Success=0 set pResponse.ErrorMessage="Empty username parameter" quit } // search Set tSC=..Adapter.Search(.tEntries,2,Filter,"") if $$$ISERR(tSC) { set pResponse.Success=0 set pResponse.ErrorMessage=$system.Status.GetErrorText(tSC) quit } if '$IsObject(tEntries) { set pResponse.Success=0 set pResponse.ErrorMessage="User does not exist" quit } set ent=tEntries.GetNext("") if ($IsObject(ent)) { Set editParam = ##class(%Net.LDAP.Client.EditEntry).%New() Set editParam = tEntries.EditCurEntry() for i=1:1:pRequest.AttributeNames.Count() { do editParam.Replace(pRequest.AttributeNames.GetAt(i).AttributeName,pRequest.AttributeNames.GetAt(i).AttributeValue,0) } set tSC = editParam.Commit() $$$TRACE("Commit="_$system.Status.GetErrorText(tSC)) if $$$ISERR(tSC) { set pResponse.Success=0 set pResponse.ErrorMessage=$system.Status.GetErrorText(tSC) quit } } } catch Err { set tSC=Err.AsStatus() set pResponse.Success=0 set pResponse.ErrorMessage=$system.Status.GetErrorText(tSC) } Quit $$$OK}