Mail List Members update working in V22 using V20 API broken in V23.5
-
I have updated MDaemon to V23.5, and an API call that used to be working is now failing with an error I do not understand.
Is there a documentation somewhere explaining the error code?
I am sending this request :
<?xml version="1.0" encoding="utf-8"?>
<MDaemon>
<API>
<Request version="20.0.0" echo="0" verbose="0">
<Operation>UpdateList</Operation>
<Parameters>
<Domain>ixxxxt.info</Domain>
<ListName>Ixxxxxa_UserList</ListName>
<Members>
<Member action="add" id="name@domain.com" displayname="name@domain.com"/></Members>
</Parameters>
</Request>
</API>
</MDaemon>the server returns :
SimpleXMLElement Object
(
[API] => SimpleXMLElement Object
(
[@attributes] => Array
(
[productversion] => 23.5.0
[serviceversion] => 23.5.0.2
)[Response] => SimpleXMLElement Object
(
[@attributes] => Array
(
[version] => 23.5
[et] => 0.005049
)[Status] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 0
[value] => 0x8142A033
[message] => List: Add Member error: Unable to resolve new member "name@domain.com"
[keyWord] => name@domain.com
[requestKey] => Member action='add' id='name@domain.com'
))
[SERVER_NAME] =>
[DOMAIN] =>
[URL] => /MdMgmtWS/API/
[AUTH_USER] =>
[TimeStamp] => 2023-10-03T14:28:58.068Z
[Uptime] => 5 days 22 hours 16 minutes 29 seconds
[Operation] => UpdateList
))
)
I have tried a couple variations, but they all return the same error message "can't resolve....". What am I missing?
Regards,
PS : I redacted some email addresses and domain names.
-
Arron Staff
According to the same request for updating the members, the request no longer needs the <Members> element.
Does this request work for you?
<?xml version="1.0" encoding="utf-8"?> <MDaemon> <API> <Request version="20.0.0" echo="0" verbose="0"> <Operation>UpdateList</Operation> <Parameters> <Domain>ixxxxt.info</Domain> <ListName>Ixxxxxa_UserList</ListName> <Member action="add" id="name@domain.com" displayname="name@domain.com"/> </Parameters> </Request> </API> </MDaemon>
-
Hi,
It does not return any error, but it does not update the ML either.
Here is the returned xml when I remove the <Members> tag around the <Member> tag.
SimpleXMLElement Object ( [API] => SimpleXMLElement Object ( [@attributes] => Array ( [productversion] => 23.5.0 [serviceversion] => 23.5.0.2 ) [Response] => SimpleXMLElement Object ( [@attributes] => Array ( [version] => 23.5 [et] => 0.004303 ) [Status] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 0 [value] => 0x00000000 [message] => L’opération a réussi. ) ) [SERVER_NAME] => mail.ixxxt.info [DOMAIN] => ixxxt.info [URL] => /MdMgmtWS/API/ [AUTH_USER] => tgbt_ixxxt@ixxxt.info [TimeStamp] => 2023-10-08T16:40:09.913Z [Uptime] => 2 days 7 hours 5 minutes 24 seconds [Operation] => UpdateList ) ) )
-
Keith Staff
I'm currently looking into this... I think that I know the issue, but to clarify...
<Member action="add" id="name@domain.com" displayname="name@domain.com"/>
Does the Member id's domain exist as a hosted domain in the system, and if so, does the Member id exist as an account in the system?
Also, are you using Domain Sharing?
-
Hello,
No this member's domain is an external domain. We have an external address book app, and manage mailing lists from this address book when adresses are updated in the address book.
This address book also contains email addresses that match our domain users. But for the current use problem, it is an external address.
Removal of an email address from our email domain "succeeds" with no effect on the mailing list.
Am I using domain sharing? No we don't. We are selfhosting our email domains in an on a single on-prem MDaemon server.
-
Keith Staff
Ok, thank you.. I believe that I've found the issue, and should have a correction in the next 23.5.1 beta release.
-
Great thank you,
Do you think it would be possible to have the corresponding DLL (or exe) that I could use inplace? I'd rather not run our server on a beta version.
-
Keith Staff
You could extract the MdMgmtWS.dll from the installer once it is published.
-
I can sure try that. Is it already in the 2351a you released 2 days ago?
If not, just let me know when it is in the beta, and I'll see if I can extract the dll from the setup.
Thank you.
-
Hello,
I saw that MDaemon2351b is available on the Beta channel. Can I use it to check the fix on the API?
Regards,
-
Keith Staff
@Stéphane Yes, you can.
-
@Keith Thank you. I tested. It now works, but I had to put back the <Members> tag in the API call, as per V20 documentation.
The API Dll in V23.5.1Beta now works for me as it did version prior to V23.5 release update.
-
Hello,
I updated to 23.5.1 and the bug is back there. Did the update get lost in the release process?
-
Keith Staff
Stéphane,
I'll look into it this morning. What was working in the beta should still be working in the release...
-
Keith Staff
Stephane,
I just ran some tests adding list members that are not hosted on my Server and it appears that they added correctly.
In the following request, the new members that are not local accounts are prefixed with xxx
<?xml version="1.0" encoding="utf-8"?> <MDaemon> <API productversion="23.5.1" serviceversion="23.5.1.6"> <Request version="23.5" echo="1" verbose="0"> <Operation>UpdateList</Operation> <Parameters> <Domain>nelson-murdock.int</Domain> <ListName>hells-kitchen-charities</ListName> <Members> <Member action="add" id="xxx-Elina.Nemes.2301@Meals-Fire-Control-Exchange-Company.xxx" displayname="XXX Elina Nemes 2301" type="3"/> <Member action="add" id="xxx-William.Merrett.8226@Acebedo-Geological-Industries-Company.xxx" displayname="XXX William Merrett 8226" type="2"/> <Member action="add" id="xxx-Quincy.Jenovese.1882@Mcnew-Radiological-Services-Company.xxx" displayname="XXX Quincy Jenovese 1882" type="4"/> <Member action="add" id="xxx-Suzan.Devin.9644@Tamer-Rentals-Incorporated.xxx" displayname="XXX Suzan Devin 9644" type="4"/> <Member action="add" id="xxx-Jared.Westerheide.9759@Mintzer-Metal-Transportation-Company.xxx" displayname="XXX Jared Westerheide 9759" type="3"/> <Member action="add" id="Niles.Nordstrom@shield.int" displayname="Niles Nordstrom" type="4"/> <Member action="add" id="Agent.Carr@hammer.int" displayname="Agent Carr" type="4"/> <Member action="add" id="Karen.Page@nelson-murdock.int" displayname="Karen Page" type="4"/> <Member action="add" id="Harry.Osborn@oscorp.int" displayname="Harry Osborn" type="1"/> <Member action="add" id="Dr.Willia.Lizabeth.Soren@crosstech.int" displayname="Dr Willia Lizabeth Soren" type="1"/> </Members> </Parameters> </Request> <Response version="23.5" et="0.026282"> <Status id="0" value="0x00000000" message="The operation completed successfully."/> </Response> </API> </MDaemon>
The resultant List data shows as follows...
# Mailing List file
#
; ListName = hells-kitchen-charities@nelson-murdock.int
; Description = hells-kitchen-charities ID
; ListDescription = hells-kitchen-charities Description
; ReplyAddress = hells-kitchen-charities@nelson-murdock.int
; DATA REDACTED FOR THE SAKE OF BREVITY
; DefaultMode = Read only
!Agent.Carr@hammer.int Agent Carr
Dr.Willia.Lizabeth.Soren@crosstech.int Dr Willia Lizabeth Soren
Harry.Osborn@oscorp.int Harry Osborn
!Karen.Page@nelson-murdock.int Karen Page
!Niles.Nordstrom@shield.int Niles Nordstrom
^xxx-Elina.Nemes.2301@Meals-Fire-Control-Exchange-Company.xxx XXX Elina Nemes 2301
^xxx-Jared.Westerheide.9759@Mintzer-Metal-Transportation-Company.xxx XXX Jared Westerheide 9759
!xxx-Quincy.Jenovese.1882@Mcnew-Radiological-Services-Company.xxx XXX Quincy Jenovese 1882
!xxx-Suzan.Devin.9644@Tamer-Rentals-Incorporated.xxx XXX Suzan Devin 9644
$xxx-William.Merrett.8226@Acebedo-Geological-Industries-Company.xxx XXX William Merrett 8226
-
Hello,
Thank you for the quick feedback. It does ork indeed. I got misleaded by this error message return by the API:
Request to update list content failed ↵0x81420082
which is not very detailed in content. So I though the API was having a problem. The issue was that the contact I randomly picked for the test has a bogus email adress : contanale@company. Maybe the API could list the reason when it fails.
In any case the API work for me on the release version.
Thank you
-
Keith Staff
Stephane,
The Status node that contained that error code should also have "The Email address specified is invalid" in it, along with the offending address.
I'll run a test using an invalid address and see what my results are.
-
Keith Staff
In my test, using 5 invalid email addresses, I got the expected results...
<?xml version="1.0" encoding="utf-8"?> <MDaemon> <API productversion="23.5.1" serviceversion="23.5.1.6"> <Request version="23.5" echo="1" verbose="0"> <Operation>UpdateList</Operation> <Parameters> <Domain>nelson-murdock.int</Domain> <ListName>hells-kitchen-charities</ListName> <Members> <Member action="add" id="xxx-Roberto.Tigert.4422@Morini-Metal-Technologies-Company" displayname="XXX Roberto Tigert 4422" type="3"/> <Member action="add" id="xxx-Adrian.Baquiran.8718@Choudhary-Design-Inc" displayname="XXX Adrian Baquiran 8718" type="3"/> <Member action="add" id="xxx-Roscoe.Kebert.9987@Lingg-Services-Inc" displayname="XXX Roscoe Kebert 9987" type="1"/> <Member action="add" id="xxx-Madie.Modica.1491@Basua-Industries-Inc" displayname="XXX Madie Modica 1491" type="2"/> <Member action="add" id="xxx-Noel.Chiotti.6617@Peron-Biological-Exchange-Company" displayname="XXX Noel Chiotti 6617" type="1"/> </Members> </Parameters> </Request> <Response version="23.5" et="0.525348"> <Status id="0" value="0x81420082" message="The Email address specified is invalid" keyWord="xxx-Roberto.Tigert.4422@Morini-Metal-Technologies-Company" requestKey="Member action='add' id='xxx-Roberto.Tigert.4422@Morini-Metal-Technologies-Company' displayname='XXX Roberto Tigert 4422' type='3'"/> <Status id="1" value="0x81420082" message="The Email address specified is invalid" keyWord="xxx-Adrian.Baquiran.8718@Choudhary-Design-Inc" requestKey="Member action='add' id='xxx-Adrian.Baquiran.8718@Choudhary-Design-Inc' displayname='XXX Adrian Baquiran 8718' type='3'"/> <Status id="2" value="0x81420082" message="The Email address specified is invalid" keyWord="xxx-Roscoe.Kebert.9987@Lingg-Services-Inc" requestKey="Member action='add' id='xxx-Roscoe.Kebert.9987@Lingg-Services-Inc' displayname='XXX Roscoe Kebert 9987' type='1'"/> <Status id="3" value="0x81420082" message="The Email address specified is invalid" keyWord="xxx-Madie.Modica.1491@Basua-Industries-Inc" requestKey="Member action='add' id='xxx-Madie.Modica.1491@Basua-Industries-Inc' displayname='XXX Madie Modica 1491' type='2'"/> <Status id="4" value="0x81420082" message="The Email address specified is invalid" keyWord="xxx-Noel.Chiotti.6617@Peron-Biological-Exchange-Company" requestKey="Member action='add' id='xxx-Noel.Chiotti.6617@Peron-Biological-Exchange-Company' displayname='XXX Noel Chiotti 6617' type='1'"/> </Response> </API> </MDaemon>
-
You are right indeed.
All is working perfectly fine, as it should.
Sorry for my last remark, I should have looked a little deeper in the return xml and saved you some time.
Regards,