I gave up on trying to utilize SAS PROC SOAP functionality to interact with SharePoint. NTLM Authentication was too large of a hurdle to overcome. I was looking at a pretty bleak future manually executing the SOAP XML through SOAPUI several times a day indefinitely... SAS is currently lacking when it comes to NTLM authentication functionality (based on discussions with SAS support, there are plans to build in this functionality, but it is still being tested at this point).
Then, I found a solution: cURL !!!
More information about curl found here : http://curl.haxx.se/
Since I am using SAS EG in a Linux environment and CURL is installed on the server, I am able to leverage SAS X Command to pipe the curl commands into the console. Coupling this with sleep, allows curl time to pass the SOAP XML to the SharePoint web service and capture the response. After this, I then pull the response file to parse it for errors. If an error is found, I email a group of supporting users to notify them of the error to being debugging. So far it appears to be working fairly well.
Sample code found below:
DATA _NULL_;
x "cd /prg/SOAP_Request"; /*Navigate to where my XML is stored */
x "curl -X POST -k --negotiate -u 'MyUsername':MyPassword --digest --ntlm -H ""SOAPAction: ""http://schemas.microsoft.com/sharepoint/soap/UpdateListItems"" "" -H ""Content-Type: text/xml; charset=UTF-8"" -d @request_&CLIENTID._&Exets..xml http://Shrpnt/sites/IT/_vti_bin/Lists.asmx > /prg/SOAP_Response/response_&CLIENTID._&Exets..xml"; /* issue the CURL command */
x=sleep(20,1); /* Have SAS sleep for 20 seconds to allow CURL to process */
run;
(To test out the CURL command, I was using Putty to just ensure that I could successfully issue the HTTP POST and receive/capture the response. Once this was done, I converted the code over so that it could dynamically pull in the saved XML file and save the response using the same methodology.
Hope this helps everyone that runs into this situation. I can now have SAS interact and drive SharePoint Lists!