Team,
The ODUM wsdl requires basic authentication to be completed first which we ended up doing in a small shell script by using wget and hitting the url:
So step #1 is to hit the url with username and password in order to open the session by replacing user:pass in the following url, they need to be separated by a colon:
pass@ondemand.ca.com/tunnel-web/secure/axis/Portlet_Odp_OdpUserService?wsdl" rel="nofollow" target="_blank">https://user:pass@ondemand.ca.com/tunnel-web/secure/axis/Portlet_Odp_OdpUserService?wsdlpass@ondemand.ca.com/tunnel-web/secure/axis/Portlet_Odp_OdpUserService?wsdl
#2 is once a session is obtained the xml can be sent, a sample for new user looks like the one below, replace all tokens that start and end with # with actual values/additional tags can be taken from the url in step #1:
<urn:addModifyUserRequest xmlns:urn="urn:http.service.odp.ondemand.ca.com" xmlns:odum="http://odum.service.odp.ondemand.ca.com">
<odum:odumOptions>
<odum:defaultTenantName>#tenant name#</odum:defaultTenantName>
<odum:defaultPassword>#defaultpassword#</odum:defaultPassword>
<odum:sendWelcomeEmail>#true or false#</odum:sendWelcomeEmail>
<odum:additiveAppInstList>true</odum:additiveAppInstList>
<odum:forcePasswordReset>#true or false#</odum:forcePasswordReset>
</odum:odumOptions>
<odum:user>
<odum:firstName>#first name#</odum:firstName>
<odum:lastName>#last name#</odum:lastName>
<odum:jobTitle>#job title#</odum:jobTitle>
<odum:emailAddress>#email address#</odum:emailAddress>
<odum:active>#true or false#</odum:active>
<odum:languageId>en_US</odum:languageId>
<odum:lockout>#true or false#</odum:lockout>
<odum:timezone>#3 letter code for timezone#</odum:timezone>
<odum:tenantName>#odum tenant name#</odum:tenantName>
<odum:appInstances>
<urn:item>#environment tag, one line per each environment access#</urn:item>
</odum:appInstances>
<odum:clarityAppDetails>
<urn:item>
<odum:applicationName>#environment application name as listed by OD#</odum:applicationName>
<odum:emailAddress>#email#</odum:emailAddress>
<odum:resourceId>#resource id as in clarity#</odum:resourceId>
<odum:userLanguage>English</odum:userLanguage>
<odum:userLocale>en_US</odum:userLocale>
<odum:userTimezone>#Timezone code, same as the one's xog uses#</odum:userTimezone>
</urn:item>
</odum:clarityAppDetails>
</odum:user>
</urn:addModifyUserRequest>