Skip to content

LG-13216: Gaze into the AAMVA SOAP abyss.#10676

Merged
matthinz merged 4 commits intomainfrom
matthinz/13216-aamva-xml
May 22, 2024
Merged

LG-13216: Gaze into the AAMVA SOAP abyss.#10676
matthinz merged 4 commits intomainfrom
matthinz/13216-aamva-xml

Conversation

@matthinz
Copy link
Contributor

@matthinz matthinz commented May 21, 2024

🎫 Ticket

Link to the relevant ticket:
LG-13216

🛠 Summary of changes

#10653 added two new fields to our requests to AAMVA's DLDV service: issue date and expiration date. In manual testing in our staging environment, I discovered that these fields weren't being processed by AAMVA because I used the incorrect namespace in the SOAP XML we were sending. I found it was difficult to keep track of what namespaces our code was referring to because we were labeling them differently from the AAMVA DLDV documentation.

This PR:

  1. Updates the namespace abbreviations used in DLDV verification requests to match those used in the AAMVA documentation
  2. Fixes the issue date + expiration date fields to use the correct namespaces

Here is what I just said, but in table form:

What we used to call it What we call it now What it means
ns2: nc: Elements from NIEM core
ns1: aa: AAMVA-specific extensions to NIEM core
ns: dldv: Elements specifically related to the SOAP interface to DLDV

(I only touched the verification service here--the authentication service is left as-is.)

📜 Testing Plan

I'll be executing this test after merging in the staging environment before this code goes into production:

  • Make an AAMVA request including all PII elements from a known good source (first name, last name, license no., issue date, expiry date, dob, and address)
  • Verify that all fields are listed in the requested_attributes field on the result
  • Verify that all elements are validated by AAMVA
  • Repeat this test, altering one PII element at a time and verifying that each item fails appropriately

The DLDV documentation PDF we have uses `nc:` to namespace things that are based on NIEM Core and `aa:` to namespace AAMVA extensions to NIEM core.

Our code was using `ns1:` and `ns2:` which made it somewhat hard to follow.

This commit updates template and fixture files to use `aa:` and `nc:` namespaces. It will require testing in the staging environment before deploying.
@matthinz matthinz requested a review from a team May 21, 2024 23:16
matthinz added 2 commits May 22, 2024 14:25
Docs use `dldv:` for the AAMVA DLDV SOAP namespace.
@matthinz matthinz merged commit 4b080a1 into main May 22, 2024
@matthinz matthinz deleted the matthinz/13216-aamva-xml branch May 22, 2024 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants