Anil,
Here's a demo app I created from the sample apps that prompts for a user name, and message to send.
fbrimm
Code:
public partial class Form1 : Form
{
public static BAAServiceCore coreWebService = new BAAServiceCore();
public static BAAServiceUtil utilWebService = new BAAServiceUtil();
public static BAAServiceEmailExchange emailExchangeWebService = new BAAServiceEmailExchange();
public static BAAServiceDispatcher dispatcherWebService = new BAAServiceDispatcher();
private string basURL = "XXXXXXXX.com";
private string userName = "XXXXX";
private string password = "XXXXXXXX";
private int[] userIDs;
public Form1()
{
InitializeComponent();
coreWebService.Url = "https://" + basURL + "/baaws/core/ws?wsdl";
utilWebService.Url = "https://" + basURL + "/baaws/core/wsutil?wsdl";
emailExchangeWebService.Url = "https://" + basURL + "/baaws/emailexchange/ws?wsdl";
encodeUsername encodeUsernameRequest = new encodeUsername();
encodeUsernameRequest.username = userName;
encodeUsernameResponse encodeUsernameResponse = utilWebService.encodeUsername(encodeUsernameRequest);
String encodedUser = encodeUsernameResponse.returnValue;
coreWebService.Credentials = new NetworkCredential(encodedUser, password);
coreWebService.PreAuthenticate = true;
dispatcherWebService.Credentials = new NetworkCredential(encodedUser, password);
dispatcherWebService.PreAuthenticate = true;
emailExchangeWebService.Credentials = new NetworkCredential(encodedUser, password);
emailExchangeWebService.PreAuthenticate = true;
}
private void btnSend_Click(object sender, EventArgs e)
{
findUserID(txtName.Text);
sendPIN("Testing", txtMsg.Text);
}
private void findUserID(string userDisplayName)
{
findUsers findUsersRequest = new findUsers();
UserSearchResult lastResultElement = null;
UserSearchCriteria searchCriteria = new UserSearchCriteria();
BASUserSearchCriteriaServiceAttributes basServiceAttributes = new BASUserSearchCriteriaServiceAttributes();
basServiceAttributes.displayName = userDisplayName;
searchCriteria.userSearchCriteriaServiceAttributes = new UserSearchCriteriaServiceAttributesType[1];
searchCriteria.userSearchCriteriaServiceAttributes[0] = basServiceAttributes;
findUsersRequest.searchCriteria = searchCriteria;
findUsersRequest.pageSize = 3;
findUsersRequest.locale = "en_US";
BASUserSearchResultSortByEnum sortBy = new BASUserSearchResultSortByEnum();
sortBy.@enum = BASUserSearchResultSortByEnumType.DISPLAY_NAME;
sortBy.enumSpecified = true;
findUsersRequest.sortBy = sortBy;
findUsersRequest.sortAscendingOrder = true;
findUsersResponse response = coreWebService.findUsers(findUsersRequest);
if (response.returnValue.findUsersReturnStatus.code != FindUsersReturnStatusEnumType.SUCCESS)
{
// handle any errors
string dbg = "here";
}
userIDs = new int[response.returnValue.userSearchResult.Length];
while (response.returnValue.userSearchResult != null && response.returnValue.userSearchResult != null)
{
for (int i = 0; i < response.returnValue.userSearchResult.Length; i++)
{
UserSearchResult searchResult = response.returnValue.userSearchResult[i];
UserSearchResultServiceAttributesType[] serviceAttributes = searchResult.userSearchResultServiceAttributes;
for (int j = 0; j < serviceAttributes.Length; j++)
{
if (serviceAttributes[j].GetType().Equals(typeof (BASUserSearchResultServiceAttributes)))
{
BASUserSearchResultServiceAttributesType BASAttributes =
serviceAttributes[j] as BASUserSearchResultServiceAttributesType;
userIDs[i] = BASAttributes.userId;
}
}
}
lastResultElement = response.returnValue.userSearchResult[response.returnValue.userSearchResult.Length - 1];
findUsersRequest.lastResultElement = lastResultElement;
response = coreWebService.findUsers(findUsersRequest);
}
}
private void sendPIN(string messageSubject, string messageBody)
{
sendMessageToUsers request = new sendMessageToUsers();
sendMessageToUsersResponse response;
UserMessage message = new UserMessage();
message.subject = messageSubject;
message.body = messageBody;
DispatcherMessageTypeEnum messageType = new DispatcherMessageTypeEnum();
messageType.@enum = DispatcherMessageTypeEnumType.PIN;
messageType.enumSpecified = true;
request.userIds = userIDs;
request.message = message;
request.messageTypeEnum = messageType;
response = coreWebService.sendMessageToUsers(request);
if (response.returnValue.sendMessageToUsersReturnStatus.code != SendMessageToUserReturnStatusEnumType.SUCCESS)
{
// handle any errors
string dbg = "here";
}
}
}