CreateUser
Cria um usuário no CAP de acordo com os parâmetros informados.
Disponível no Web Service CAPSecurity.asmx
Parâmetros
logOnName [String]: Nome de usuário
name [String]: Nome completo do usuário
password [String]: Senha
email [String]: E-mail
employeeId [String]: Código do funcionário
companyName [String]: Nome da empresa
departmentName [String]: Nome do departamento
jobTitle [String]: Título do cargo
managerLogOnName [String]: Nome de usuário do gestor
customPropertiesCultureName [String]: Nome da cultura a ser utilizada nas propriedades estendidas do usuário
customProperties [Tuple[String, Object][]]: Propriedades estendidas do usuário
enabled [Boolean]: Flag de ativação
Exemplo de Solicitação/Resposta SOAP (v1.2)
POST /Services/CAPSecurity.asmx HTTP/1.1
Host: nossocap.capworkflow.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CreateUser xmlns="http://iteris.cap.webservices">
<logOnName>string</logOnName>
<name>string</name>
<password>string</password>
<email>string</email>
<employeeId>string</employeeId>
<companyName>string</companyName>
<departmentName>string</departmentName>
<jobTitle>string</jobTitle>
<managerLogOnName>string</managerLogOnName>
<customPropertiesCultureName>string</customPropertiesCultureName>
<customProperties>
<KeyValuePairOfStringObject />
<KeyValuePairOfStringObject />
</customProperties>
<enabled>boolean</enabled>
</CreateUser>
</soap12:Body>
</soap12:Envelope>
---
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CreateUserResponse xmlns="http://iteris.cap.webservices" />
</soap12:Body>
</soap12:Envelope>
Exemplo de Utilização em PowerShell via New-WebServiceProxy
$baseUrl = "https://env.capworkflow.com";
$userName = "test.user@capworkflow.com";
$password = "MyVeryStrongPassword@123";
# Cria o proxy para o serviço de autenticação do CAP.
$wsAuth = New-WebServiceProxy -Uri "$baseUrl/Services/CAPAuthentication.asmx" -Namespace "CAP.Services";
# Atribui um Cookie Container ao proxy para armazenar o cookie de autorização a ser retornado.
$wsAuth.CookieContainer = New-Object System.Net.CookieContainer;
# Realiza a autenticação do usuário.
$wsAuth.Login($userName, $password);
# Como o proxy do PowerShell não suporta passar as informações de autenticação no momento da sua criação,
# é necessário baixar a definição do serviço em um etapa anterior, passando o cookie de autorização através
# de uma nova sessão web.
$authSession = New-Object Microsoft.PowerShell.Commands.WebRequestSession;
$authSession.Cookies = $wsAuth.CookieContainer;
$wsSecWsdl = Invoke-WebRequest -Uri "$baseUrl/Services/CAPSecurity.asmx?wsdl" -Method Get -WebSession $authSession;
$wsSecWsdl.Content | Out-File -FilePath "D:\temp\wsSec.wsdl" -Encoding utf8;
# Cria o proxy para o serviço de configuração do CAP.
$wsSec = New-WebServiceProxy -Uri "D:\temp\wsSec.wsdl" -Namespace "CAP.Services";
# Atribui o Cookie Container com o cookie de autorização ao proxy.
$wsSec.CookieContainer = $wsAuth.CookieContainer;
$wsSec.CreateUser(
"usuario@capworkflow.com",
"Usuário de Teste do CAP Workflow",
"minhaSenhaEmAmbientesFBA",
"usuario@capworkflow.com",
$null,
$null,
$null,
$null,
$null,
$null,
$null,
$true
);
Exemplo de Utilização em PowerShell via Invoke-WebRequest
$baseUrl = "https://env.capworkflow.com";
$userName = "test.user@capworkflow.com";
$password = "MyVeryStrongPassword@123";
# Montagem da mensagem SOAP com os parâmetros de autenticação.
$soapMessage = @"
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<Login xmlns="http://iteris.cap.webservices">
<userLogOnName>$userName</userLogOnName>
<password>$password</password>
</Login>
</soap12:Body>
</soap12:Envelope>
"@;
# Requisição POST passando a mensagem SOAP e armazenando
# o cookie de autorização na variável de sessão $authSession.
Invoke-WebRequest -Uri "$baseUrl/Services/CAPAuthentication.asmx" -Method Post -ContentType "application/soap+xml; charset=utf-8" -Body $soapMessage -SessionVariable authSession;
# Montagem da mensagem SOAP com os parâmetros necessários.
$secSoapMessage = @"
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CreateUser xmlns="http://iteris.cap.webservices">
<logOnName>usuario@capworkflow.com</logOnName>
<name>Usuário de Teste do CAP Workflow</name>
<password>minhaSenhaEmAmbientesFBA</password>
<email>usuario@capworkflow.com</email>
<enabled>true</enabled>
</CreateUser>
</soap12:Body>
</soap12:Envelope>
"@;
# Requisição POST passando a mensagem SOAP e a variável
# de sessão $authSession criada no momento da autenticação.
Invoke-WebRequest -Uri "$baseUrl/Services/CAPSecurity.asmx" -Method Post -ContentType "application/soap+xml; charset=utf-8" -Body $secSoapMessage -WebSession $authSession;
Exemplo de Utilização em PowerShell via Invoke-WebRequest e Basic Authentication
$baseUrl = "https://env.capworkflow.com";
$userName = "test.user@capworkflow.com";
$password = "MyVeryStrongPassword@123";
# Montagem da mensagem SOAP com os parâmetros necessários.
$secSoapMessage = @"
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CreateUser xmlns="http://iteris.cap.webservices">
<logOnName>usuario@capworkflow.com</logOnName>
<name>Usuário de Teste do CAP Workflow</name>
<password>minhaSenhaEmAmbientesFBA</password>
<email>usuario@capworkflow.com</email>
<enabled>true</enabled>
</CreateUser>
</soap12:Body>
</soap12:Envelope>
"@;
# Monta o valor do cabeçalho de autenticação para Basic Authentication.
$credential = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("$($userName):$password"));
# Requisição POST passando a mensagem SOAP e o cabeçalho
# de autenticação básica.
Invoke-WebRequest -Uri "$baseUrl/Services/CAPSecurity.asmx" -Method Post -ContentType "application/soap+xml; charset=utf-8" -Body $secSoapMessage -Headers @{ "Authorization" = "Basic $credential" };