Use oes management api get "No privilege" error
Hi all,
i try to use oes management api to manage my application's entitlements.
but while i coding get a “No privilege” error , any suggest ?
regards
java code:
RBAC_Manager mgr = null;
RBAC_Context rbacCtx = null;
mgr = new RBAC_Manager(new URL("https://10.1.18.4:7011/servlet/AxisServlet/blm"),"admin","password");
rbacCtx = mgr.createContext();
System.out.println("user -> " + rbacCtx.getLoginUser());
ScopeManager scopeMgr = rbacCtx.getScopeManager();
Organization o = scopeMgr.getRoot();
rbacCtx.setScope(o);
Scope s = rbacCtx.getScope();
s = scopeMgr.getScope("ejianlong");
rbacCtx.setScope(s);
scopeMgr = rbacCtx.getScopeManager();
scopeMgr.createApplication("jlerp_a");output:
user -> //user/RootOrg!AdminDir/admin/
com.bea.ales.management.exception.ManagementException: No privilege to create Application jlerp_a under RootOrg!ejianlong
at com.bea.ales.management.ScopeManager.createApplication(ScopeManager.java:156)
at com.jl.test.model.Class1.main(Class1.java:36)Edited by: Lighting Cui on 2011-9-12 下午5:34
Have worked it out...
In case anyone else has the same thing happening, the issue was with the external hard drive. I had read-only privileges while it was connected to my new MacBook. It's a Seagate GoFlex. Had to download the NTFS for Mac driver from their website
http://www.seagate.com/au/en/support/external-hard-drives/desktop-hard-drives/ba ckup-plus-desk/ntfs-driver-for-mac-os-master-dl/
and installed it on the laptop. Then I selected the GoFlex volume, Command I and changed the access to read and write. Problem solved.
Similar Messages
-
How to get list of Users[MailBoxes] in Exchange Server 2013 by using EWS Managed API
Hi all,
I need list of Users exists in my Exchange server 2013 , i.e Mail Box Users login name.
I was created Full Access permissions of all users to Admin user account, to access each user Mailbox programatically
i need the list of Mailboxes in exchange server .
MailBox mailbox = new MailBox("user");
Please share your ideasHi,
We can run the following command in Exchange Management Shell to get all user mailboxes name and export it to a .csv file:
Get-Mailbox -ResultSize Unlimited | Select Name,Alias,RecipientTypeDetails | Export-Csv c:\Users.csv
If you want to retrieve the list of users by using EWS Managed API, I suggest you can ask a question in Exchange Development forum for more suggestion:
http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/threads
Regards,
Winnie Liang
TechNet Community Support -
Trying to retrieve list of rooms using EWS Managed API but it returned empty collection
Hi,
I'm trying to retrieve list of rooms using EWS Managed API. Before I have tried the following code I make sure our Administrator put all the rooms in a list following link https://technet.microsoft.com/en-us/library/ee633471%28v=exchg.141%29.aspx.
Here is the simple code I have used :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Exchange.WebServices.Data;
using System.Net;
using System.Security;
namespace ExchangeConsole1
class Program
static void Main(string[] args)
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
service.Credentials = new NetworkCredential("username", "Password1", "domain");
service.Url = new Uri("https://email.xxxx.com/ews/exchange.asmx");
EmailMessage email = new EmailMessage(service);
EmailAddressCollection listOfRoomList = service.GetRoomLists();
// Display the individual rooms.
foreach (EmailAddress address in listOfRoomList)
Console.WriteLine("Email Address: {0}", address.Address);
service.GetRoomLists() results "Enumeration yielded no results". Could anybody help me please ?
Thanks
SandipanEnable tracing and see what the response from the server looks like. Also depending on your setup and how long ago your administrator created the list, it may take some
time to replicate.
Administrator has done it one week ago. Here is the trace response I am getting
<Trace Tag="EwsResponse" Tid="9" Time="2015-04-10 15:36:37Z" Version="15.00.0847.030">
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="0" MajorBuildNumber="995" MinorBuildNumber="31" Version="V2_15" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:GetRoomListsResponse ResponseClass="Success" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseCode>NoError</m:ResponseCode>
<m:RoomLists />
</m:GetRoomListsResponse>
</s:Body>
</s:Envelope>
</Trace>
It's say no error. Any help ?
Thanks
Sandipan -
Create and send an email as a delegate using EWS Managed API
Hi All,
I would like to create and send an email as a delegate using EWS Managed API for that i have crated one user as a delegate to that mailbox owner.
after adding user as delegate, when i try to create an email The EmailMessage class taking only FolderId as parameter but not taking Mailbox object as parameter. But in web reference they said that EmailMessage taking FolderId and Mailbox object as parameter.
EmailMessage message = new EmailMessage(service);
message.Subject = "Company Soccer Team";
message.Body = "Are you interested in joining?";
message.ToRecipients.Add("[email protected]");
message.Save(new FolderId(WellKnownFolderName.Drafts, new Mailbox("[email protected]")));https://msdn.microsoft.com/EN-US/library/office/dn641963(v=exchg.150).aspx#bk_createewsmacould you people please help me on this?ThanksNareshThanks for reply glen.
I have added delegate using Add-MailboxPermissions. Now i am able to save an email in mailbox owner drafts
folder.
Glen,
I have a one more question.(I am using EWS Managed API).
I(owner) have shared my calendar(eg. samplecalenderfolder) with another user(delegate) (i.e.,he is the
delegate of my mailbox) and i have given only permission to the this folder(samplecalenderfolder)
only and the permission level is Reviewer.
if i login with user(i.e.delegate) i am not able to get the shared calendar folders(i.e.,samplecalenderfolder)
that what i a have shared.
below is the code snippet i am using to get the calendar folders.
Folder folder = Folder.Bind(service,WellKnownFolderName.Calendar);
FindFoldersResults addtionalFolders = service.FindFolders(folder.Id, new FolderView(10));
could you please tell us how to get the shared calendar folders.
Thanks
Naresh -
I am trying to upgrade to itunes 10.7 using windows and keep getting the following error message: "Error writing to file: C:\Config.Msi\364460.rbf Verify access to this dierctory". Help!
Fixed! (win7 64 bit)! Just stop your antivirus during the upgrade/installation (I've got Kaspersky).
Good luck! -
Configure hosted services verbose monitoring using REST management API
I know how to configure verbose monitoring for my hosted services in the management portal as described in: http://www.windowsazure.com/en-us/manage/services/cloud-services/how-to-monitor-a-cloud-service/
Is it possible to do the same using the management API? What is the REST command?
Thanks
Manu
ManuI don't think there's a public REST API available just yet for cloud services monitoring. Given that Windows Azure Portal is built on top of Service Management API, I'm pretty sure that there's an API beneath this monitoring but is not exposed just yet for
general consumption. I would recommend keeping an eye on Service Management API documentation page for updates:
http://msdn.microsoft.com/en-us/library/windowsazure/ee460799.aspx
Hope this helps. -
Hi all,
i'm a beginer in weblogic portal.
i want to use content management API to publish content, such as add content type, add content, edit content . . .
can anybody help me or give me document link.
Thanks!!!There used to be a contentSamples App that pretty much did most of this, I cant find this online.
i have the zip for 9.2 (there shouldnt be many changes between 9.2 and 10) , if you want a copy of this app send me your email -
public void ShareCalendar(Calendar calendar)
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new NetworkCredential("user1", "password", "domain");
service.Url = new Uri("https://sampleUrl/ews/exchange.asmx");
try
// Bind to the folder
//Folder folderStoreInfo;
//folderStoreInfo = Folder.Bind(service, calendar.ExchangeId);
//string EwsID = folderStoreInfo.Id.UniqueId;
string EwsID = calendar.FolderExchangeId;
// The value of folderidHex will be what we need to use for the FolderId in the xml file
AutodiscoverService autoDiscover = new AutodiscoverService(ExchangeVersion.Exchange2013);
autoDiscover.Credentials = new NetworkCredential("user1", "password", "domain");
autoDiscover.RedirectionUrlValidationCallback = RedirectionUrlValidationCallback;
Dictionary<string, string> userSettings = GetUserSettings(autoDiscover);
string folderidHex = GetConvertedEWSIDinHex(service, EwsID, "[email protected]");
string domainName = string.Empty;
string mailBoxServer = string.Empty;
string userName = string.Empty;
foreach (var item in userSettings)
switch (item.Key)
case "UserDN":
domainName = item.Value.ToString();
break;
case "InternalMailboxServer":
mailBoxServer = item.Value.ToString();
break;
case "UserDisplayName":
userName = item.Value.ToString();
break;
string entryId = GetIntiatorEntryID(domainName);
string mailboxId = GetInvitationMailboxId(mailBoxServer, domainName);
string sharedFilePath = CreateSharingMessageAttachment(folderidHex, userName, entryId, mailboxId, "[email protected]", "calendar", calendar.FolderName);
// Create a new message
EmailMessage invitationRequest = new EmailMessage(service);
invitationRequest.Subject = "I'd like to share my calendar with you";
invitationRequest.Body = "Sent by Exchange Administrator on behalf of user";
//invitationRequest.Culture = "en-US";
invitationRequest.Sensitivity = Sensitivity.Normal;
// Set a sharing specific property on the message
invitationRequest.ItemClass = "IPM.Sharing"; /* Constant Required Value [MS-ProtocolSpec] */
byte[] byteEntryId = HexStringToByteArray(entryId);
// This is the Guid of the Sharing Provider in Exchange, and it's value does not change
Guid binSharingProviderGuid = new Guid("{AEF00600-0000-0000-C000-000000000046}");
// Even though I don't think setting this property is mandatory,
// it just seemed like the right thing to do and it works so I \
// ain't messin with it!
byte[] byteSharingProviderGuid = binSharingProviderGuid.ToByteArray();
string strPRBODYHTML = "<html dir=\"ltr\">\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\r\n<meta name=\"GENERATOR\"
content=\"MSHTML 8.00.7601.17514\">\r\n<style id=\"owaParaStyle\">P {\r\n MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px \r\n}\r\n</style>\r\n</head>\r\n<body fPStyle=\"1\" ocsi=\"0\">\r\n<tt>\r\n<pre>SharedByUserDisplayName
(SharedByUserSmtpAddress) has invited you to view his or her Microsoft Exchange Calendar.\r\n\r\nFor instructions on how to view shared folders on Exchange, see the following article:\r\n\r\nhttp://go.microsoft.com/fwlink/?LinkId=57561\r\n\r\n*~*~*~*~*~*~*~*~*~*\r\n\r\n</pre>\r\n</tt>\r\n<div>\r\n<div
style=\"direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;\">this is a test message</div>\r\n</div>\r\n</body>\r\n</html>\r\n";
string strBODY = @"
SharedByUserDisplayName (SharedByUserSmtpAddress) has invited you to view his or
her Microsoft Exchange Calendar.
For instructions on how to view shared folders on Exchange, see the
following article:
http://go.microsoft.com/fwlink/?LinkId=57561
*~*~*~*~*~*~*~*~*~*
test body
// Convert these to hex and binary equivelants to assign to their relevant
// extended properties
string hexPRBODYHTML = ConvertStringToHex(strPRBODYHTML);
byte[] binPRBODYHTML = HexStringToByteArray(hexPRBODYHTML);
Guid PropertySetSharing = Guid.Parse("00062040-0000-0000-C000-000000000046");//constant
Guid PropertySetInternetHeaders = Guid.Parse("00020386-0000-0000-C000-000000000046");//constant
ExtendedPropertyDefinition PidLidSharingProviderGuidProperty = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A01, MapiPropertyType.CLSID);
ExtendedPropertyDefinition ConversationIdProperty = new ExtendedPropertyDefinition(0x3013, MapiPropertyType.Binary);
// Sharing Properties (in order of reference according to protocol examples in: [MS-OXSHARE])
// Additional Property Constraints
// [MS-OXSHARE] 2.2.5.2
ExtendedPropertyDefinition PidTagMessageClass = new ExtendedPropertyDefinition(0x001A, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.5.1
//ExtendedPropertyDefinition PidNameContentClass = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.InternetHeaders, "Content-Class", MapiPropertyType.String);
ExtendedPropertyDefinition PidNameContentClass = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "Content-class", MapiPropertyType.String);
// Common Message Object Properties
// [MS-OXSHARE] 2.2.1
ExtendedPropertyDefinition PidTagNormalizedSubject = new ExtendedPropertyDefinition(0x0E1D, MapiPropertyType.String);
// The PidTagSubjectPrefix is a zero-length string, so I do not set it
// ExtendedPropertyDefinition PidTagSubjectPrefix = new ExtendedPropertyDefinition(0x003D, MapiPropertyType.String);
// Sharing Object Message Properties
// [MS-OXSHARE] 2.2.2.12
ExtendedPropertyDefinition PidLidSharingProviderGuid = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A01, MapiPropertyType.Binary);
// [MS-OXSHARE] 2.2.2.13
ExtendedPropertyDefinition PidNameXSharingProviderGuid = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Provider-GUID", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.14
ExtendedPropertyDefinition PidLidSharingProviderName = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A02, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.15
ExtendedPropertyDefinition PidNameXSharingProviderName = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Provider-Name", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.16
ExtendedPropertyDefinition PidLidSharingProviderUrl = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A03, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.17
ExtendedPropertyDefinition PidNameXSharingProviderUrl = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Provider-URL", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.5
ExtendedPropertyDefinition PidLidSharingFlavor = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A18, MapiPropertyType.Integer);
// [MS-OXSHARE] 2.2.2.6
ExtendedPropertyDefinition PidNameXSharingFlavor = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Flavor", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.1
ExtendedPropertyDefinition PidLidSharingCapabilities = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A17, MapiPropertyType.Integer);
// [MS-OXSHARE] 2.2.2.2
ExtendedPropertyDefinition PidNameXSharingCapabilities = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Capabilities", MapiPropertyType.String);
// Sections 2.3 and 2.4 are also zero-length strings, so I won't set those either
// [MS-OXSHARE] 2.2.2.3
// ExtendedPropertyDefinition PidLidSharingConfigurationUrl = new //ExtendedPropertyDefinition(PropertySetSharing, 0x8A24, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.4
//ExtendedPropertyDefinition PidNameXSharingConfigUrl = new //ExtendedPropertyDefinition(DefaultExtendedPropertySet.InternetHeaders, "X-Sharing-Config-Url", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.10
ExtendedPropertyDefinition PidLidSharingLocalType = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A14, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.11
ExtendedPropertyDefinition PidNameXSharingLocalType = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Local-Type", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.7
ExtendedPropertyDefinition PidLidSharingInitiatorEntryId = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A09, MapiPropertyType.Binary);
// [MS-OXSHARE] 2.2.2.8
ExtendedPropertyDefinition PidLidSharingInitiatorName = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A07, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.9
ExtendedPropertyDefinition PidLidSharingInitiatorSMTP = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A08, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.1
ExtendedPropertyDefinition PidLidSharingRemoteName = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A05, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.2
ExtendedPropertyDefinition PidNameXSharingRemoteName = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Remote-Name", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.5
ExtendedPropertyDefinition PidLidSharingRemoteType = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A1D, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.6
ExtendedPropertyDefinition PidNameXSharingRemoteType = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Remote-Type", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.7
ExtendedPropertyDefinition PidLidSharingRemoteUid = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A06, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.8
ExtendedPropertyDefinition PidNameXSharingRemoteUid = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Remote-Uid", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.3
ExtendedPropertyDefinition PidLidSharingRemoteStoreUid = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A48, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.4
ExtendedPropertyDefinition PidNameXSharingRemoteStoreUid = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Remote-Store-Uid", MapiPropertyType.String);
//From troubleshooting I noticed I was missing
ExtendedPropertyDefinition PidTagPriority = new ExtendedPropertyDefinition(0x0026, MapiPropertyType.Integer);
ExtendedPropertyDefinition PidTagSensitivity = new ExtendedPropertyDefinition(0x0036, MapiPropertyType.Integer);
ExtendedPropertyDefinition PR_BODY_HTML = new ExtendedPropertyDefinition(0x1013, MapiPropertyType.Binary); //PR_BOD
ExtendedPropertyDefinition PR_BODY = new ExtendedPropertyDefinition(0x1000, MapiPropertyType.String);
ExtendedPropertyDefinition RecipientReassignmentProhibited = new ExtendedPropertyDefinition(0x002b, MapiPropertyType.Boolean);
// Section 2.2.1
invitationRequest.SetExtendedProperty(PidTagNormalizedSubject, "I'd like to share my calendar with you"); /* Constant Required Value [MS-OXSHARE] 2.2.1 */
//invitationRequest.SetExtendedProperty(PidTagSubjectPrefix, String.Empty); /* Constant Required Value [MS-OXSHARE] 2.2.1 */
// Section 2.2.2
invitationRequest.SetExtendedProperty(PidLidSharingCapabilities, 0x40220); /* value for Special Folders */
invitationRequest.SetExtendedProperty(PidNameXSharingCapabilities, "40220"); /* Test representation of SharingCapabilities value */
//invitationRequest.SetExtendedProperty(PidLidSharingConfigurationUrl, String.Empty); /* Zero-Length String [MS-OXSHARE] 2.2.2.3 */
//invitationRequest.SetExtendedProperty(PidNameXSharingConfigUrl, String.Empty); /* Zero-Length String [MS-OXSHARE] 2.2.2.4 */
invitationRequest.SetExtendedProperty(PidLidSharingFlavor, 0x20310); /* Indicates Invitation for a special folder [MS-OXSHARE] 2.2.2.5 */
invitationRequest.SetExtendedProperty(PidNameXSharingFlavor, "20310"); /* Text representation of SharingFlavor value [MS-OXSHARE] 2.2.2.6 */
invitationRequest.SetExtendedProperty(PidLidSharingInitiatorEntryId, byteEntryId); /* Value from the Initiator/EntryId value in the Sharing Message attachment .xml document */
invitationRequest.SetExtendedProperty(PidLidSharingInitiatorSMTP, "[email protected]"); /* Value from Initiator/Smtp Address in the Sharing message attachment .xml document */
invitationRequest.SetExtendedProperty(PidLidSharingInitiatorName, "User1"); /* Value from Initiator/Name Address in the Sharing message attachment .xml document */
invitationRequest.SetExtendedProperty(PidLidSharingLocalType, "IPF.Appointment"); /* MUST be set to PidTagContainerClass of folder to be shared */
invitationRequest.SetExtendedProperty(PidNameXSharingLocalType, "IPF.Appointment"); /* MUST be set to same value as PidLidSharingLocalType */
invitationRequest.SetExtendedProperty(PidLidSharingProviderGuid, byteSharingProviderGuid); /* Constant Required Value [MS-OXSHARE] 2.2.2.12 */
invitationRequest.SetExtendedProperty(PidNameXSharingProviderGuid, "AEF0060000000000C000000000000046"); /* Constant Required Value [MS-OXSHARE] 2.2.2.13 */
invitationRequest.SetExtendedProperty(PidLidSharingProviderName, "Microsoft Exchange"); /* Constant Required Value [MS-OXSHARE] 2.2.2.14 */
invitationRequest.SetExtendedProperty(PidNameXSharingProviderName, "Microsoft Exchange"); /* Constant Required Value [MS-OXSHARE] 2.2.2.15] */
invitationRequest.SetExtendedProperty(PidLidSharingProviderUrl, "http://www.microsoft.com/exchange"); /* Constant Required Value [MS-OXSHARE] 2.2.2.16 */
invitationRequest.SetExtendedProperty(PidNameXSharingProviderUrl, "http://www.microsoft.com/exchange"); /* Constant Required Value [MS-OXSHARE] 2.2.2.17 */
// Section 2.2.3
invitationRequest.SetExtendedProperty(PidLidSharingRemoteName, calendar.FolderName); /* MUST be set to PidTagDisplayName of the folder being shared */
invitationRequest.SetExtendedProperty(PidNameXSharingRemoteName, calendar.FolderName); /* MUST be set to same value as PidLidSharingRemoteName */
invitationRequest.SetExtendedProperty(PidLidSharingRemoteStoreUid, mailboxId); /* Must be set to PidTagStoreEntryId of the folder being shared */
invitationRequest.SetExtendedProperty(PidNameXSharingRemoteStoreUid, mailboxId); /* MUST be set to same value as PidLidSharingRemoteStoreUid */
invitationRequest.SetExtendedProperty(PidLidSharingRemoteType, "IPF.Appointment"); /* Constant Required Value [MS-OXSHARE] 2.2.3.5 */
invitationRequest.SetExtendedProperty(PidNameXSharingRemoteType, "IPF.Appointment"); /* Constant Required Value [MS-OXSHARE] 2.2.3.6 */
invitationRequest.SetExtendedProperty(PidLidSharingRemoteUid, folderidHex); /* MUST be set to PidTagEntryId of folder being shared */
invitationRequest.SetExtendedProperty(PidNameXSharingRemoteUid, folderidHex); /* Must be set to same value as PidLidSharingRemoteUid */
// Section 2.2.5
invitationRequest.SetExtendedProperty(PidNameContentClass, "Sharing"); /* Constant Required Value [MS-ProtocolSpec] */
invitationRequest.SetExtendedProperty(PidTagMessageClass, "IPM.Sharing"); /* Constant Required Value [MS-ProtocolSpec] */
// ********* ADDITIONAL MAPPED PROPERTIES IM FINDING AS I TROUBLESHOOT ********************** //
invitationRequest.SetExtendedProperty(PidTagPriority, 0); /* From troubleshooting I'm just trying to match up values that were missing */
invitationRequest.SetExtendedProperty(PidTagSensitivity, 0); /* From troubleshooting as well */
invitationRequest.SetExtendedProperty(PR_BODY_HTML, binPRBODYHTML); /* From troubleshooting OWA error pointing to serializing HTML failing */
invitationRequest.SetExtendedProperty(PR_BODY, strBODY);
invitationRequest.SetExtendedProperty(RecipientReassignmentProhibited, true); /* Because it seemed like a good idea */
// Add a file attachment by using a stream
// We need to do the following in order to prevent 3 extra bytes from being prepended to the attachment
string sharMetadata = File.ReadAllText(sharedFilePath, Encoding.ASCII);
byte[] fileContents;
UTF8Encoding encoding = new System.Text.UTF8Encoding();
fileContents = encoding.GetBytes(sharMetadata);
//fileContents = File.ReadAllBytes(sharedFilePath);
//// fileContents is a Stream object that represents the content of the file to attach.
invitationRequest.Attachments.AddFileAttachment("sharing_metadata.xml", fileContents);
////invitationRequest.Attachments.AddFileAttachment(sharedFilePath);
//// This is where we set those "special" headers and other pertinent
//// information I noted in Part 1 of this series...
//Attachment thisAttachment = invitationRequest.Attachments[0];
//thisAttachment.ContentType = "application/x-sharing-metadata-xml";
//thisAttachment.Name = "sharing_metadata.xml";
//thisAttachment.IsInline = false;
// Add recipient info and send message
invitationRequest.ToRecipients.Add(new EmailAddress() { Address = "[email protected]" });
invitationRequest.SendAndSaveCopy();
// I always end my methods by returning the EWS
// impersonated user to null to clean up
service.ImpersonatedUserId = null;
catch (Exception ex)
public String GetConvertedEWSIDinHex(ExchangeService esb, String sID, String strSMTPAdd)
// Create a request to convert identifiers.
AlternateId objAltID = new AlternateId();
objAltID.Format = IdFormat.EwsId;
objAltID.Mailbox = strSMTPAdd;
objAltID.UniqueId = sID;
//Convert PR_ENTRYID identifier format to an EWS identifier.
AlternateIdBase objAltIDBase = esb.ConvertId(objAltID, IdFormat.HexEntryId);
AlternateId objAltIDResp = (AlternateId)objAltIDBase;
return objAltIDResp.UniqueId.ToString();
public String GetInvitationMailboxId(string mailBoxServer, string domainName)
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "[email protected]");
// Generate The Store Entry Id for the impersonated user
StringBuilder MailboxIDPointer = new StringBuilder();
string fqdn = mailBoxServer;
string legacyDN = domainName;
MailboxIDPointer.Append("00000000"); /* Flags */
MailboxIDPointer.Append("38A1BB1005E5101AA1BB08002B2A56C2"); /* ProviderUID */
MailboxIDPointer.Append("00"); /* Version */
MailboxIDPointer.Append("00"); /* Flag */
MailboxIDPointer.Append("454D534D44422E444C4C00000000"); /* DLLFileName */
MailboxIDPointer.Append("00000000"); /* Wrapped Flags */
MailboxIDPointer.Append("1B55FA20AA6611CD9BC800AA002FC45A"); /* WrappedProvider UID (Mailbox Store Object) */
MailboxIDPointer.Append("0C000000"); /* Wrapped Type (Mailbox Store) */
MailboxIDPointer.Append(ConvertStringToHex(fqdn)); /* ServerShortname (FQDN) */
MailboxIDPointer.Append("00"); /* termination bit */
MailboxIDPointer.Append(ConvertStringToHex(legacyDN)); /* Returns the userDN of the impersonated user */
MailboxIDPointer.Append("00"); /* terminator bit */
service.ImpersonatedUserId = null;
return MailboxIDPointer.ToString();
static bool RedirectionUrlValidationCallback(String redirectionUrl)
bool redirectionValidated = false;
if (redirectionUrl.Equals("https://SampleUrl/autodiscover/autodiscover.xml"))
redirectionValidated = true;
return redirectionValidated;
public String GetIntiatorEntryID(string domainName)
String result = String.Empty;
//// Bind to EWS
//ExchangeService service = ExchangeConnection.ExchangeService();
//service.ImpersonatedUserId =
//new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "[email protected]");
//// Get LegacyDN Using the function above this one
string sharedByLegacyDN = domainName;
// A conversion function from earlier
string legacyDNinHex = ConvertStringToHex(sharedByLegacyDN);
StringBuilder addBookEntryId = new StringBuilder();
addBookEntryId.Append("00000000"); /* Flags */
addBookEntryId.Append("DCA740C8C042101AB4B908002B2FE182"); /* ProviderUID */
addBookEntryId.Append("01000000"); /* Version */
addBookEntryId.Append("00000000"); /* Type - 00 00 00 00 = Local Mail User */
addBookEntryId.Append(legacyDNinHex); /* Returns the userDN of the impersonated user */
addBookEntryId.Append("00"); /* terminator bit */
result = addBookEntryId.ToString();
//service.ImpersonatedUserId = null;
return result;
public string ConvertStringToHex(string input)
// Take our input and break it into an array
char[] arrInput = input.ToCharArray();
String result = String.Empty;
// For each set of characters
foreach (char element in arrInput)
if (String.IsNullOrEmpty(result))
result = String.Format("{0:X2}", Convert.ToUInt16(element)).ToString();
else
result += String.Format("{0:X2}", Convert.ToUInt16(element)).ToString();
return result.ToString();
public string CreateSharingMessageAttachment(string folderid, string userSharing, string userSharingEntryID, string invitationMailboxID, string userSharedTo, string dataType, string calendarName)
XmlDocument sharedMetadataXML = new XmlDocument();
string sharedMetaDataFilePath = string.Empty;
try
// Create a String that contains our new sharing_metadata.xml file
StringBuilder metadataString = new StringBuilder("<?xml version=\"1.0\"?>");
metadataString.Append("<SharingMessage xmlns=\"http://schemas.microsoft.com/sharing/2008\">");
metadataString.Append("<DataType>" + dataType + "</DataType>");
metadataString.Append("<Initiator>");
metadataString.Append("<Name>" + userSharing + "</Name>");
metadataString.Append("<SmtpAddress>" + "[email protected]" + "</SmtpAddress><EntryId>" + userSharingEntryID.Trim());
metadataString.Append("</EntryId>");
metadataString.Append("</Initiator>");
metadataString.Append("<Invitation>");
metadataString.Append("<Title>" + calendarName + "</Title>");
metadataString.Append("<Providers>");
metadataString.Append("<Provider Type=\"ms-exchange-internal\" TargetRecipients=\"" + userSharedTo + "\">");
metadataString.Append("<FolderId xmlns=\"http://schemas.microsoft.com/exchange/sharing/2008\">");
metadataString.Append(folderid);
metadataString.Append("</FolderId>");
metadataString.Append("<MailboxId xmlns=\"http://schemas.microsoft.com/exchange/sharing/2008\">");
metadataString.Append(invitationMailboxID);
metadataString.Append("</MailboxId>");
metadataString.Append("</Provider>");
metadataString.Append("</Providers>");
metadataString.Append("</Invitation>");
metadataString.Append("</SharingMessage>");
sharedMetadataXML.LoadXml(metadataString.ToString());
string tempPath = System.IO.Path.GetTempPath();
sharedMetaDataFilePath = tempPath + "sharing_metadata.xml";
sharedMetadataXML.Save(sharedMetaDataFilePath);
catch (Exception eg)
throw eg;
return sharedMetaDataFilePath;
public Dictionary<string, string> GetUserSettings(AutodiscoverService autodiscoverService)
GetUserSettingsResponse userresponse = autodiscoverService.GetUserSettings(
"[email protected]",
UserSettingName.UserDisplayName,
UserSettingName.InternalMailboxServerDN,
UserSettingName.UserDN
Dictionary<string, string> myUserSettings = new Dictionary<string, string>();
foreach (KeyValuePair<UserSettingName, Object> usersetting in userresponse.Settings)
if (usersetting.Key.ToString() == "InternalMailboxServerDN")
int lastIndexOfEqual = usersetting.Value.ToString().LastIndexOf("=");
string subString = usersetting.Value.ToString().Substring(lastIndexOfEqual + 1);
string value = subString;
myUserSettings.Add("InternalMailboxServer", value.ToString());
if (usersetting.Key.ToString() == "UserDisplayName")
string[] arrResult = usersetting.Value.ToString().Split('.');
myUserSettings.Add("UserDisplayName", arrResult[0].ToString());
if (usersetting.Key.ToString() == "UserDN")
string[] arrResult = usersetting.Value.ToString().Split('.');
myUserSettings.Add("UserDN", arrResult[0].ToString());
return myUserSettings;
private static byte[] HexStringToByteArray(string input)
byte[] Bytes;
int ByteLength;
string HexValue = "\x0\x1\x2\x3\x4\x5\x6\x7\x8\x9|||||||\xA\xB\xC\xD\xE\xF";
ByteLength = input.Length / 2;
Bytes = new byte[ByteLength];
for (int x = 0, i = 0; i < input.Length; i += 2, x += 1)
Bytes[x] = (byte)(HexValue[Char.ToUpper(input[i + 0]) - '0'] << 4);
Bytes[x] |= (byte)(HexValue[Char.ToUpper(input[i + 1]) - '0']);
return Bytes;Hi,
I'm trying to share a calendar through ews managed api v.2 and using exchange 2013 version.
i'm preparing a shared calendar and providing values to extended properties .
Here comes the problem when i'm trying to send the sharing request(email message)
The following is code snippet.
public void ShareCalendar(Calendar calendar)
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new NetworkCredential("user1", "password", "domain");
service.Url = new Uri("https://sampleUrl/ews/exchange.asmx");
try
// Bind to the folder
//Folder folderStoreInfo;
//folderStoreInfo = Folder.Bind(service, calendar.ExchangeId);
//string EwsID = folderStoreInfo.Id.UniqueId;
string EwsID = calendar.FolderExchangeId;
// The value of folderidHex will be what we need to use for the FolderId in the xml file
AutodiscoverService autoDiscover = new AutodiscoverService(ExchangeVersion.Exchange2013);
autoDiscover.Credentials = new NetworkCredential("user1", "password", "domain");
autoDiscover.RedirectionUrlValidationCallback = RedirectionUrlValidationCallback;
Dictionary<string, string> userSettings = GetUserSettings(autoDiscover);
string folderidHex = GetConvertedEWSIDinHex(service, EwsID, "[email protected]");
string domainName = string.Empty;
string mailBoxServer = string.Empty;
string userName = string.Empty;
foreach (var item in userSettings)
switch (item.Key)
case "UserDN":
domainName = item.Value.ToString();
break;
case "InternalMailboxServer":
mailBoxServer = item.Value.ToString();
break;
case "UserDisplayName":
userName = item.Value.ToString();
break;
string entryId = GetIntiatorEntryID(domainName);
string mailboxId = GetInvitationMailboxId(mailBoxServer, domainName);
string sharedFilePath = CreateSharingMessageAttachment(folderidHex, userName, entryId, mailboxId, "[email protected]", "calendar", calendar.FolderName);
// Create a new message
EmailMessage invitationRequest = new EmailMessage(service);
invitationRequest.Subject = "I'd like to share my calendar with you";
invitationRequest.Body = "Sent by Exchange Administrator on behalf of user";
//invitationRequest.Culture = "en-US";
invitationRequest.Sensitivity = Sensitivity.Normal;
// Set a sharing specific property on the message
invitationRequest.ItemClass = "IPM.Sharing"; /* Constant Required Value [MS-ProtocolSpec] */
byte[] byteEntryId = HexStringToByteArray(entryId);
// This is the Guid of the Sharing Provider in Exchange, and it's value does not change
Guid binSharingProviderGuid = new Guid("{AEF00600-0000-0000-C000-000000000046}");
// Even though I don't think setting this property is mandatory,
// it just seemed like the right thing to do and it works so I \
// ain't messin with it!
byte[] byteSharingProviderGuid = binSharingProviderGuid.ToByteArray();
string strPRBODYHTML = "<html dir=\"ltr\">\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\r\n<meta name=\"GENERATOR\"
content=\"MSHTML 8.00.7601.17514\">\r\n<style id=\"owaParaStyle\">P {\r\n MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px \r\n}\r\n</style>\r\n</head>\r\n<body fPStyle=\"1\" ocsi=\"0\">\r\n<tt>\r\n<pre>SharedByUserDisplayName
(SharedByUserSmtpAddress) has invited you to view his or her Microsoft Exchange Calendar.\r\n\r\nFor instructions on how to view shared folders on Exchange, see the following article:\r\n\r\nhttp://go.microsoft.com/fwlink/?LinkId=57561\r\n\r\n*~*~*~*~*~*~*~*~*~*\r\n\r\n</pre>\r\n</tt>\r\n<div>\r\n<div
style=\"direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;\">this is a test message</div>\r\n</div>\r\n</body>\r\n</html>\r\n";
string strBODY = @"
SharedByUserDisplayName (SharedByUserSmtpAddress) has invited you to view his or
her Microsoft Exchange Calendar.
For instructions on how to view shared folders on Exchange, see the
following article:
http://go.microsoft.com/fwlink/?LinkId=57561
*~*~*~*~*~*~*~*~*~*
test body
// Convert these to hex and binary equivelants to assign to their relevant
// extended properties
string hexPRBODYHTML = ConvertStringToHex(strPRBODYHTML);
byte[] binPRBODYHTML = HexStringToByteArray(hexPRBODYHTML);
Guid PropertySetSharing = Guid.Parse("00062040-0000-0000-C000-000000000046");//constant
Guid PropertySetInternetHeaders = Guid.Parse("00020386-0000-0000-C000-000000000046");//constant
ExtendedPropertyDefinition PidLidSharingProviderGuidProperty = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A01, MapiPropertyType.CLSID);
ExtendedPropertyDefinition ConversationIdProperty = new ExtendedPropertyDefinition(0x3013, MapiPropertyType.Binary);
// Sharing Properties (in order of reference according to protocol examples in: [MS-OXSHARE])
// Additional Property Constraints
// [MS-OXSHARE] 2.2.5.2
ExtendedPropertyDefinition PidTagMessageClass = new ExtendedPropertyDefinition(0x001A, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.5.1
//ExtendedPropertyDefinition PidNameContentClass = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.InternetHeaders, "Content-Class", MapiPropertyType.String);
ExtendedPropertyDefinition PidNameContentClass = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "Content-class", MapiPropertyType.String);
// Common Message Object Properties
// [MS-OXSHARE] 2.2.1
ExtendedPropertyDefinition PidTagNormalizedSubject = new ExtendedPropertyDefinition(0x0E1D, MapiPropertyType.String);
// The PidTagSubjectPrefix is a zero-length string, so I do not set it
// ExtendedPropertyDefinition PidTagSubjectPrefix = new ExtendedPropertyDefinition(0x003D, MapiPropertyType.String);
// Sharing Object Message Properties
// [MS-OXSHARE] 2.2.2.12
ExtendedPropertyDefinition PidLidSharingProviderGuid = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A01, MapiPropertyType.Binary);
// [MS-OXSHARE] 2.2.2.13
ExtendedPropertyDefinition PidNameXSharingProviderGuid = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Provider-GUID", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.14
ExtendedPropertyDefinition PidLidSharingProviderName = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A02, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.15
ExtendedPropertyDefinition PidNameXSharingProviderName = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Provider-Name", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.16
ExtendedPropertyDefinition PidLidSharingProviderUrl = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A03, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.17
ExtendedPropertyDefinition PidNameXSharingProviderUrl = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Provider-URL", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.5
ExtendedPropertyDefinition PidLidSharingFlavor = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A18, MapiPropertyType.Integer);
// [MS-OXSHARE] 2.2.2.6
ExtendedPropertyDefinition PidNameXSharingFlavor = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Flavor", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.1
ExtendedPropertyDefinition PidLidSharingCapabilities = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A17, MapiPropertyType.Integer);
// [MS-OXSHARE] 2.2.2.2
ExtendedPropertyDefinition PidNameXSharingCapabilities = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Capabilities", MapiPropertyType.String);
// Sections 2.3 and 2.4 are also zero-length strings, so I won't set those either
// [MS-OXSHARE] 2.2.2.3
// ExtendedPropertyDefinition PidLidSharingConfigurationUrl = new //ExtendedPropertyDefinition(PropertySetSharing, 0x8A24, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.4
//ExtendedPropertyDefinition PidNameXSharingConfigUrl = new //ExtendedPropertyDefinition(DefaultExtendedPropertySet.InternetHeaders, "X-Sharing-Config-Url", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.10
ExtendedPropertyDefinition PidLidSharingLocalType = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A14, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.11
ExtendedPropertyDefinition PidNameXSharingLocalType = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Local-Type", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.7
ExtendedPropertyDefinition PidLidSharingInitiatorEntryId = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A09, MapiPropertyType.Binary);
// [MS-OXSHARE] 2.2.2.8
ExtendedPropertyDefinition PidLidSharingInitiatorName = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A07, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.2.9
ExtendedPropertyDefinition PidLidSharingInitiatorSMTP = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A08, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.1
ExtendedPropertyDefinition PidLidSharingRemoteName = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A05, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.2
ExtendedPropertyDefinition PidNameXSharingRemoteName = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Remote-Name", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.5
ExtendedPropertyDefinition PidLidSharingRemoteType = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A1D, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.6
ExtendedPropertyDefinition PidNameXSharingRemoteType = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Remote-Type", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.7
ExtendedPropertyDefinition PidLidSharingRemoteUid = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A06, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.8
ExtendedPropertyDefinition PidNameXSharingRemoteUid = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Remote-Uid", MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.3
ExtendedPropertyDefinition PidLidSharingRemoteStoreUid = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A48, MapiPropertyType.String);
// [MS-OXSHARE] 2.2.3.4
ExtendedPropertyDefinition PidNameXSharingRemoteStoreUid = new ExtendedPropertyDefinition(PropertySetInternetHeaders, "X-Sharing-Remote-Store-Uid", MapiPropertyType.String);
//From troubleshooting I noticed I was missing
ExtendedPropertyDefinition PidTagPriority = new ExtendedPropertyDefinition(0x0026, MapiPropertyType.Integer);
ExtendedPropertyDefinition PidTagSensitivity = new ExtendedPropertyDefinition(0x0036, MapiPropertyType.Integer);
ExtendedPropertyDefinition PR_BODY_HTML = new ExtendedPropertyDefinition(0x1013, MapiPropertyType.Binary); //PR_BOD
ExtendedPropertyDefinition PR_BODY = new ExtendedPropertyDefinition(0x1000, MapiPropertyType.String);
ExtendedPropertyDefinition RecipientReassignmentProhibited = new ExtendedPropertyDefinition(0x002b, MapiPropertyType.Boolean);
// Section 2.2.1
invitationRequest.SetExtendedProperty(PidTagNormalizedSubject, "I'd like to share my calendar with you"); /* Constant Required Value [MS-OXSHARE] 2.2.1 */
//invitationRequest.SetExtendedProperty(PidTagSubjectPrefix, String.Empty); /* Constant Required Value [MS-OXSHARE] 2.2.1 */
// Section 2.2.2
invitationRequest.SetExtendedProperty(PidLidSharingCapabilities, 0x40220); /* value for Special Folders */
invitationRequest.SetExtendedProperty(PidNameXSharingCapabilities, "40220"); /* Test representation of SharingCapabilities value */
//invitationRequest.SetExtendedProperty(PidLidSharingConfigurationUrl, String.Empty); /* Zero-Length String [MS-OXSHARE] 2.2.2.3 */
//invitationRequest.SetExtendedProperty(PidNameXSharingConfigUrl, String.Empty); /* Zero-Length String [MS-OXSHARE] 2.2.2.4 */
invitationRequest.SetExtendedProperty(PidLidSharingFlavor, 0x20310); /* Indicates Invitation for a special folder [MS-OXSHARE] 2.2.2.5 */
invitationRequest.SetExtendedProperty(PidNameXSharingFlavor, "20310"); /* Text representation of SharingFlavor value [MS-OXSHARE] 2.2.2.6 */
invitationRequest.SetExtendedProperty(PidLidSharingInitiatorEntryId, byteEntryId); /* Value from the Initiator/EntryId value in the Sharing Message attachment .xml document */
invitationRequest.SetExtendedProperty(PidLidSharingInitiatorSMTP, "[email protected]"); /* Value from Initiator/Smtp Address in the Sharing message attachment .xml document */
invitationRequest.SetExtendedProperty(PidLidSharingInitiatorName, "User1"); /* Value from Initiator/Name Address in the Sharing message attachment .xml document */
invitationRequest.SetExtendedProperty(PidLidSharingLocalType, "IPF.Appointment"); /* MUST be set to PidTagContainerClass of folder to be shared */
invitationRequest.SetExtendedProperty(PidNameXSharingLocalType, "IPF.Appointment"); /* MUST be set to same value as PidLidSharingLocalType */
invitationRequest.SetExtendedProperty(PidLidSharingProviderGuid, byteSharingProviderGuid); /* Constant Required Value [MS-OXSHARE] 2.2.2.12 */
invitationRequest.SetExtendedProperty(PidNameXSharingProviderGuid, "AEF0060000000000C000000000000046"); /* Constant Required Value [MS-OXSHARE] 2.2.2.13 */
invitationRequest.SetExtendedProperty(PidLidSharingProviderName, "Microsoft Exchange"); /* Constant Required Value [MS-OXSHARE] 2.2.2.14 */
invitationRequest.SetExtendedProperty(PidNameXSharingProviderName, "Microsoft Exchange"); /* Constant Required Value [MS-OXSHARE] 2.2.2.15] */
invitationRequest.SetExtendedProperty(PidLidSharingProviderUrl, "http://www.microsoft.com/exchange"); /* Constant Required Value [MS-OXSHARE] 2.2.2.16 */
invitationRequest.SetExtendedProperty(PidNameXSharingProviderUrl, "http://www.microsoft.com/exchange"); /* Constant Required Value [MS-OXSHARE] 2.2.2.17 */
// Section 2.2.3
invitationRequest.SetExtendedProperty(PidLidSharingRemoteName, calendar.FolderName); /* MUST be set to PidTagDisplayName of the folder being shared */
invitationRequest.SetExtendedProperty(PidNameXSharingRemoteName, calendar.FolderName); /* MUST be set to same value as PidLidSharingRemoteName */
invitationRequest.SetExtendedProperty(PidLidSharingRemoteStoreUid, mailboxId); /* Must be set to PidTagStoreEntryId of the folder being shared */
invitationRequest.SetExtendedProperty(PidNameXSharingRemoteStoreUid, mailboxId); /* MUST be set to same value as PidLidSharingRemoteStoreUid */
invitationRequest.SetExtendedProperty(PidLidSharingRemoteType, "IPF.Appointment"); /* Constant Required Value [MS-OXSHARE] 2.2.3.5 */
invitationRequest.SetExtendedProperty(PidNameXSharingRemoteType, "IPF.Appointment"); /* Constant Required Value [MS-OXSHARE] 2.2.3.6 */
invitationRequest.SetExtendedProperty(PidLidSharingRemoteUid, folderidHex); /* MUST be set to PidTagEntryId of folder being shared */
invitationRequest.SetExtendedProperty(PidNameXSharingRemoteUid, folderidHex); /* Must be set to same value as PidLidSharingRemoteUid */
// Section 2.2.5
invitationRequest.SetExtendedProperty(PidNameContentClass, "Sharing"); /* Constant Required Value [MS-ProtocolSpec] */
invitationRequest.SetExtendedProperty(PidTagMessageClass, "IPM.Sharing"); /* Constant Required Value [MS-ProtocolSpec] */
// ********* ADDITIONAL MAPPED PROPERTIES IM FINDING AS I TROUBLESHOOT ********************** //
invitationRequest.SetExtendedProperty(PidTagPriority, 0); /* From troubleshooting I'm just trying to match up values that were missing */
invitationRequest.SetExtendedProperty(PidTagSensitivity, 0); /* From troubleshooting as well */
invitationRequest.SetExtendedProperty(PR_BODY_HTML, binPRBODYHTML); /* From troubleshooting OWA error pointing to serializing HTML failing */
invitationRequest.SetExtendedProperty(PR_BODY, strBODY);
invitationRequest.SetExtendedProperty(RecipientReassignmentProhibited, true); /* Because it seemed like a good idea */
// Add a file attachment by using a stream
// We need to do the following in order to prevent 3 extra bytes from being prepended to the attachment
string sharMetadata = File.ReadAllText(sharedFilePath, Encoding.ASCII);
byte[] fileContents;
UTF8Encoding encoding = new System.Text.UTF8Encoding();
fileContents = encoding.GetBytes(sharMetadata);
//fileContents = File.ReadAllBytes(sharedFilePath);
//// fileContents is a Stream object that represents the content of the file to attach.
invitationRequest.Attachments.AddFileAttachment("sharing_metadata.xml", fileContents);
////invitationRequest.Attachments.AddFileAttachment(sharedFilePath);
//// This is where we set those "special" headers and other pertinent
//// information I noted in Part 1 of this series...
//Attachment thisAttachment = invitationRequest.Attachments[0];
//thisAttachment.ContentType = "application/x-sharing-metadata-xml";
//thisAttachment.Name = "sharing_metadata.xml";
//thisAttachment.IsInline = false;
// Add recipient info and send message
invitationRequest.ToRecipients.Add(new EmailAddress() { Address = "[email protected]" });
invitationRequest.SendAndSaveCopy();
// I always end my methods by returning the EWS
// impersonated user to null to clean up
service.ImpersonatedUserId = null;
catch (Exception ex)
public String GetConvertedEWSIDinHex(ExchangeService esb, String sID, String strSMTPAdd)
// Create a request to convert identifiers.
AlternateId objAltID = new AlternateId();
objAltID.Format = IdFormat.EwsId;
objAltID.Mailbox = strSMTPAdd;
objAltID.UniqueId = sID;
//Convert PR_ENTRYID identifier format to an EWS identifier.
AlternateIdBase objAltIDBase = esb.ConvertId(objAltID, IdFormat.HexEntryId);
AlternateId objAltIDResp = (AlternateId)objAltIDBase;
return objAltIDResp.UniqueId.ToString();
public String GetInvitationMailboxId(string mailBoxServer, string domainName)
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "[email protected]");
// Generate The Store Entry Id for the impersonated user
StringBuilder MailboxIDPointer = new StringBuilder();
string fqdn = mailBoxServer;
string legacyDN = domainName;
MailboxIDPointer.Append("00000000"); /* Flags */
MailboxIDPointer.Append("38A1BB1005E5101AA1BB08002B2A56C2"); /* ProviderUID */
MailboxIDPointer.Append("00"); /* Version */
MailboxIDPointer.Append("00"); /* Flag */
MailboxIDPointer.Append("454D534D44422E444C4C00000000"); /* DLLFileName */
MailboxIDPointer.Append("00000000"); /* Wrapped Flags */
MailboxIDPointer.Append("1B55FA20AA6611CD9BC800AA002FC45A"); /* WrappedProvider UID (Mailbox Store Object) */
MailboxIDPointer.Append("0C000000"); /* Wrapped Type (Mailbox Store) */
MailboxIDPointer.Append(ConvertStringToHex(fqdn)); /* ServerShortname (FQDN) */
MailboxIDPointer.Append("00"); /* termination bit */
MailboxIDPointer.Append(ConvertStringToHex(legacyDN)); /* Returns the userDN of the impersonated user */
MailboxIDPointer.Append("00"); /* terminator bit */
service.ImpersonatedUserId = null;
return MailboxIDPointer.ToString();
static bool RedirectionUrlValidationCallback(String redirectionUrl)
bool redirectionValidated = false;
if (redirectionUrl.Equals("https://SampleUrl/autodiscover/autodiscover.xml"))
redirectionValidated = true;
return redirectionValidated;
public String GetIntiatorEntryID(string domainName)
String result = String.Empty;
//// Bind to EWS
//ExchangeService service = ExchangeConnection.ExchangeService();
//service.ImpersonatedUserId =
//new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "[email protected]");
//// Get LegacyDN Using the function above this one
string sharedByLegacyDN = domainName;
// A conversion function from earlier
string legacyDNinHex = ConvertStringToHex(sharedByLegacyDN);
StringBuilder addBookEntryId = new StringBuilder();
addBookEntryId.Append("00000000"); /* Flags */
addBookEntryId.Append("DCA740C8C042101AB4B908002B2FE182"); /* ProviderUID */
addBookEntryId.Append("01000000"); /* Version */
addBookEntryId.Append("00000000"); /* Type - 00 00 00 00 = Local Mail User */
addBookEntryId.Append(legacyDNinHex); /* Returns the userDN of the impersonated user */
addBookEntryId.Append("00"); /* terminator bit */
result = addBookEntryId.ToString();
//service.ImpersonatedUserId = null;
return result;
public string ConvertStringToHex(string input)
// Take our input and break it into an array
char[] arrInput = input.ToCharArray();
String result = String.Empty;
// For each set of characters
foreach (char element in arrInput)
if (String.IsNullOrEmpty(result))
result = String.Format("{0:X2}", Convert.ToUInt16(element)).ToString();
else
result += String.Format("{0:X2}", Convert.ToUInt16(element)).ToString();
return result.ToString();
public string CreateSharingMessageAttachment(string folderid, string userSharing, string userSharingEntryID, string invitationMailboxID, string userSharedTo, string dataType, string calendarName)
XmlDocument sharedMetadataXML = new XmlDocument();
string sharedMetaDataFilePath = string.Empty;
try
// Create a String that contains our new sharing_metadata.xml file
StringBuilder metadataString = new StringBuilder("<?xml version=\"1.0\"?>");
metadataString.Append("<SharingMessage xmlns=\"http://schemas.microsoft.com/sharing/2008\">");
metadataString.Append("<DataType>" + dataType + "</DataType>");
metadataString.Append("<Initiator>");
metadataString.Append("<Name>" + userSharing + "</Name>");
metadataString.Append("<SmtpAddress>" + "[email protected]" + "</SmtpAddress><EntryId>" + userSharingEntryID.Trim());
metadataString.Append("</EntryId>");
metadataString.Append("</Initiator>");
metadataString.Append("<Invitation>");
metadataString.Append("<Title>" + calendarName + "</Title>");
metadataString.Append("<Providers>");
metadataString.Append("<Provider Type=\"ms-exchange-internal\" TargetRecipients=\"" + userSharedTo + "\">");
metadataString.Append("<FolderId xmlns=\"http://schemas.microsoft.com/exchange/sharing/2008\">");
metadataString.Append(folderid);
metadataString.Append("</FolderId>");
metadataString.Append("<MailboxId xmlns=\"http://schemas.microsoft.com/exchange/sharing/2008\">");
metadataString.Append(invitationMailboxID);
metadataString.Append("</MailboxId>");
metadataString.Append("</Provider>");
metadataString.Append("</Providers>");
metadataString.Append("</Invitation>");
metadataString.Append("</SharingMessage>");
sharedMetadataXML.LoadXml(metadataString.ToString());
string tempPath = System.IO.Path.GetTempPath();
sharedMetaDataFilePath = tempPath + "sharing_metadata.xml";
sharedMetadataXML.Save(sharedMetaDataFilePath);
catch (Exception eg)
throw eg;
return sharedMetaDataFilePath;
public Dictionary<string, string> GetUserSettings(AutodiscoverService autodiscoverService)
GetUserSettingsResponse userresponse = autodiscoverService.GetUserSettings(
"[email protected]",
UserSettingName.UserDisplayName,
UserSettingName.InternalMailboxServerDN,
UserSettingName.UserDN
Dictionary<string, string> myUserSettings = new Dictionary<string, string>();
foreach (KeyValuePair<UserSettingName, Object> usersetting in userresponse.Settings)
if (usersetting.Key.ToString() == "InternalMailboxServerDN")
int lastIndexOfEqual = usersetting.Value.ToString().LastIndexOf("=");
string subString = usersetting.Value.ToString().Substring(lastIndexOfEqual + 1);
string value = subString;
myUserSettings.Add("InternalMailboxServer", value.ToString());
if (usersetting.Key.ToString() == "UserDisplayName")
string[] arrResult = usersetting.Value.ToString().Split('.');
myUserSettings.Add("UserDisplayName", arrResult[0].ToString());
if (usersetting.Key.ToString() == "UserDN")
string[] arrResult = usersetting.Value.ToString().Split('.');
myUserSettings.Add("UserDN", arrResult[0].ToString());
return myUserSettings;
private static byte[] HexStringToByteArray(string input)
byte[] Bytes;
int ByteLength;
string HexValue = "\x0\x1\x2\x3\x4\x5\x6\x7\x8\x9|||||||\xA\xB\xC\xD\xE\xF";
ByteLength = input.Length / 2;
Bytes = new byte[ByteLength];
for (int x = 0, i = 0; i < input.Length; i += 2, x += 1)
Bytes[x] = (byte)(HexValue[Char.ToUpper(input[i + 0]) - '0'] << 4);
Bytes[x] |= (byte)(HexValue[Char.ToUpper(input[i + 1]) - '0']);
return Bytes;
am i missing anything
any help is appreciated
Thanks in advance -
Get list of User Mailboxes in Exchange server 2013 by using EWS managed API
Hi all,
I need list of Users exists in my Exchange server 2013 , i.e Mail Box Users log in name.
i know the command in Powershell to get list, but i need this using code[ ews managed API].
How can i achieve this ?
Please share your ideasHi Glen,
i follow your suggested links i wrote below code ,
here i am getting error
The term 'Get-Users' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
SecureString password = new SecureString();
string str_password = "EIS2014!@#";
string username = "[email protected]";
foreach (char x in str_password) { password.AppendChar(x); }
PSCredential credential = new PSCredential(username, password);
WSManConnectionInfo connectionInfo = new WSManConnectionInfo(new Uri("http://ExchangeServer.admin.com/powershell"), "http://schemas.microsoft.com/powershell/Microsoft.Exchange", credential);
//connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Basic;
Runspace runspace = RunspaceFactory.CreateRunspace(connectionInfo);
PowerShell powershell = PowerShell.Create();
PSCommand command = new PSCommand();
command.AddCommand("Get-Users");
command.AddParameter("ResultSize", 50);
powershell.Commands = command;
runspace.Open();
powershell.Runspace = runspace;
var aa = powershell.Invoke();
Please help me. -
Using seeded EOVO but getting JBO-25017 error
Hello,
I'm trying to create a new page using an seeded EOVO. I want the page to display, the user enters the information, clicks to submit and a record will be entered into the table.
When I run the page, I get the following error... "oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity row for IncidentEO."
The existing IncidentEOImpl extends CszPlsqlEntityImpl which extends OAPlsqlEntityImpl, it has all the code to call the APIs.
I've searched the forum and saw that this error maybe because of custom tables without WHO columns but the EO is based on CS_INCIDENTS_VL_SEC these necessary columns.
Any ideas will be appreciated!
Thanks,
LL
In the AM:
public void createSR()
OAViewObject vo = (OAViewObject)getIncidentEOVO1();
if (!vo.isPreparedForExecution())
vo.executeQuery();
Row row = vo.createRow(); //GET ERROR HERE
vo.insertRow(row);
row.setNewRowState(Row.STATUS_INITIALIZED);
public void apply()
getTransaction().commit();
In the page CO:
public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
super.processRequest(oapagecontext, oawebbean);
OAApplicationModuleImpl am = (OAApplicationModuleImpl)oapagecontext.getApplicationModule(oawebbean);
am.invokeMethod("createSR");
}Please see error stack:
oracle.apps.fnd.framework.OAException: oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity row for IncidentEO.
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:891)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1145)
at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2928)
at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2725)
at OA.jspService(OA.jsp:48)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:534)
## Detail 0 ##
java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at oracle.jbo.server.EntityDefImpl.createBlankInstance(EntityDefImpl.java:1174)
at oracle.jbo.server.ViewRowImpl.createMissingEntities(ViewRowImpl.java:1532)
at oracle.jbo.server.ViewRowImpl.init(ViewRowImpl.java:236)
at oracle.jbo.server.ViewDefImpl.createBlankInstance(ViewDefImpl.java:1057)
at oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:1014)
at oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:2701)
at oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:2605)
at oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2001)
at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:1857)
at oracle.jbo.server.QueryCollection.get(QueryCollection.java:1269)
at oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2889)
at oracle.jbo.server.ViewRowSetIteratorImpl.doFetch(ViewRowSetIteratorImpl.java:2521)
at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2383)
at oracle.jbo.server.ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1250)
at oracle.jbo.server.ViewRowSetImpl.first(ViewRowSetImpl.java:2366)
at oracle.jbo.server.ViewObjectImpl.first(ViewObjectImpl.java:5234)
at oracle.apps.fnd.framework.webui.OADictionaryDataViewObject.selectGoodValue(OADictionaryDataViewObject.java:135)
at oracle.apps.fnd.framework.webui.OADictionaryData.selectValue(OADictionaryData.java:90)
at oracle.apps.fnd.framework.webui.OADictionaryDataViewObject.selectValue(OADictionaryDataViewObject.java:119)
at oracle.apps.fnd.framework.webui.OADataBoundValue.selectValue(OADataBoundValue.java:274)
at oracle.apps.fnd.framework.webui.OADataBoundValue.getResultValueFromDataOjbect(OADataBoundValue.java:234)
at oracle.apps.fnd.framework.webui.OADataBoundValue.getValue(OADataBoundValue.java:154)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getAttributeValueImpl(OAWebBeanHelper.java:1765)
at oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean.getAttributeValueImpl(OAMessageTextInputBean.java:308)
at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source)
at oracle.cabo.ui.collection.UINodeAttributeMap.getAttribute(Unknown Source)
at oracle.cabo.ui.collection.AttributeMapProxy.getAttribute(Unknown Source)
at oracle.cabo.ui.BaseUINode.getAttributeValueImpl(Unknown Source)
at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source)
at oracle.cabo.ui.laf.base.BaseLafUtils.getLocalTextAttribute(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.FormElementRenderer.getText(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.TextInputRenderer.renderAttributes(Unknown Source)
at oracle.cabo.ui.ElementRenderer.prerender(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.prerender(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.FormInputRenderer.prerender(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.TextInputRenderer.prerender(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.FormElementRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.RowLayoutRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.InlineMessageRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.RowLayoutRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.laf.oracle.desktop.HeaderRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.composite.ContextPoppingUINode$ContextPoppingRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.laf.oracle.desktop.HeaderRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.BorderLayoutRenderer.renderIndexedChildren(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source)
at oracle.cabo.ui.composite.UINodeRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.oracle.desktop.PageLayoutRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.BodyRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.render(OABodyBean.java:398)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.partial.PartialPageUtils.renderPartialPage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.render(OAPageBean.java:3263)
at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2918)
at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2725)
at OA.jspService(OA.jsp:48)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:534) -
Using process manager to get command line of a running application
hello,
i'm currently using the process manager framework to get a list of current running processes on the machine. i would like to get the command line to display to the user. i can see how to get the path to the executable file. i.e. /Applications/AppRunning however i'd like to get the full command line and im either missing it from the documentation or not seeing the links to get that information. so i want to get /Applications/AppRunning -c someoption -f another option. can anyone recommend a function to assist me or if im using the wrong API to get the information i am looking for can someone recommend the correct API?
thank you very much.musikit wrote:
thank you very much. you have been more then informative about this. i'll have to check out the kernel queues and events api you mentioned. i've never really digged this far into a unix style OS before. it's pretty interesting. it seems like EVFILT_PROC is what i want to get process starts/stops.
I've never done this either, so I'm quite sure I'm missing some big things here. Some other things that might be handy are dtrace and ptrace. I strongly suspect that there is some really easy way to do it that I don't know about. You might try searching on the Apple developer mailing lists.
at the end of the day though i still need to be able to retrieve the command line of a running executable. 'ps' can do it so i'm assuming there is a programatic way of doing it. is the mac 'ps' command source code online anywhere that i can see what it's doing?
I don't know about ps. There are a number of Mac applications that do things similar to what you propose. Marcopolo is open-source and can detect when applications are launched.
i have looked at the linux procps package however it relies on the procfs which mac does not have.
Amit Singh wrote a MacFUSE-based procfs for the Mac. You can look at the source code to that, but, to quote Amit "the MacFUSE version of procfs makes heavy use of the Mach programming interfaces". Good luck with that. Still, there might be some helpful information in that link. -
User management API/get all the users for a group
Hi all,
I'm trying to get all the users and their associated groups with the user management API. The method DirectoryManagerServiceClient.findGroupMembers(GroupMembershipSearchFilter)
returns all the users, great, but not the associated groups.
TO get the users i use the oid of a "super group" and this "super group" contains severals groups. It's the information about these groups i need.
I have read in the documentation of Principal Object that a search could omit
the group informations for efficiency. How can i bypass this limitation?
Thank you in advance for your help,
Philippe VandenhoveHi Philippe
Our CreateUser component will allow you to create local users and groups.
http://avoka.dnsalias.com/confluence/display/Public/Create+User+Create+Group
LookupGroup takes a group name or id, and returns a list of all members. I'm pretty sure it recursively evaluates contained groups, but you'll need to check. If it doesn't, log a bug to support-at-avoka.com.
http://avoka.dnsalias.com/confluence/display/Public/Lookup+DSC
Download at:
vhttp://www.avoka.com/apps/checkcookie?qpac=y&qpac_code=avokaESComponents&location=%2Fapps %2Fqpacdownload
Howard -
Files deleted using RSC Explorer - now getting "invalid path" error msgs
Yesterday I deleted about 10 images from RSC because (1) they were no longer used in the help project and (2) RH had not deleted them from source control itself. Note: I did not just hide these files - I deleted them.
Today when I try to "get" the whole project, I get error messages for each of those files. Caption: RoboSource Error. Message: "Error - path '[path & filename]' is invalid."
Since these files are in various subdirectories of the project, and RSC refuses to continue getting the rest of the files after it encounters this type of problem, this means I now have to "get" the project directory by directory. Grr.
Ok, so RSC did not like me deleting the files from RSC Explorer. So how do I fix this problem? I tried adding the files back into RSC, but I get a different error message: "Error - node '[path & filename]' already exists." (Um, which is it -- is the path invalid, as claimed by the first error message, or does it already exist, as claimed by the second one?)
I don't know what else to try.
The other (less urgent) question is, if I can't delete old images from RSC Explorer, and RH doesn't see to it that unused images are deleted from source control, then how do I get unused images out of source control?
Any help would be appreciated -- especially quick help! :-)
/EileenWe had already applied the 802 patch.
I don't remember now how I solved this problem (it was back in April I posted it), but it was probably by editing the root.fpj file.
Thank you for your replies!
/Eileen -
HT4623 Since updating iOS 6 1 3 on my iPad when I try to use YouTube all I get is playback error
Since updating iOS 613 on my pad , when I try to use YouTube all I get is play back error?
there are a few things you can try.
Go to settings>general>reset>reset all settings. if that does not help then do a back up and restore of the iPad these articals will help you with that.
Back Up: http://support.apple.com/kb/ht1766
Restore: http://support.apple.com/kb/ht1414 -
Getting Insufficient Privileges Error while running Pages in Jdeveloper
Hi,
When I am running my pages in JDeveloper, I am getting the Error:
"You have insufficient privileges for the current operation." and the Application login page is being shown.
Looking at the log window, I see that the system expects my page to be shown correctly. However the login screen gets displayed.
I suspected that my login/password is incorrect in Jdeveloper Project settings. But I tried that. It is finw. Any suggestions as to what the problem might be would be great.
Please find excerpts from the Jdev log window:
[328] Connected to Oracle JBO Server - Version: 9.0.3.13.88
[329] Loading from /lalith/oracle/apps/xxtmg/graph/server/server.xml file
[330] Loading from indvidual XML files
[331] Loading the Containees for the Package 'lalith.oracle.apps.xxtmg.graph.server.server'.
[332] Loading from /lalith/oracle/apps/xxtmg/graph/server/GraphAM.xml file
[333] Created root application module: 'lalith.oracle.apps.xxtmg.graph.server.GraphAM'
[334] Locale is: 'en_US'
[335] DefaultConnectionStrategy is establishing an application module connection
[336] mUsePersColl is false
[337] ViewObjectImpl.mDefaultMaxRowsPerNode is 70
[338] ViewObjectImpl.mDefaultMaxActiveNodes is 30
[339] Oracle SQLBuilder: Registered driver: oracle.jdbc.driver.OracleDriver
[340] Successfully logged in
[341] JDBCDriverVersion: 9.2.0.5.0
[342] DatabaseProductName: Oracle
[343] DatabaseProductVersion: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production With the Partitioning, OLAP and Data Mining options
[344] Root application module, lalith.oracle.apps.xxtmg.graph.server.GraphAM, was created at 2007-01-02 14:08:08.391
[345] setConnectionReleaseLevel - Set connection release level to 0
[346] OAApplicationPoolImpl.setConnectionReleaseLevel was called with isReleased = false, isReserved = false
[347] setConnectionReleaseLevel - Set connection release level to 0
[348]
<ICX_SessionValues_Diagnostics - ICX Cookie = m6BVBr6qeAiK1S9ptOKjFou1:S>: WebRequestUtil.validateContext is called.
[349]
<ICX_SessionValues_Diagnostics - ICX Cookie = m6BVBr6qeAiK1S9ptOKjFou1:S>: WebRequestUtil.validateContext returned status = VALID.
ICX Session Values after WebRequestUtil.validateContext:
============================================================
<ICX_SessionValues_Diagnostics - ICX Cookie = m6BVBr6qeAiK1S9ptOKjFou1:S>:
Current ICX Session (Oracle Applications User Session) Values:
1. User ID (DB, ICX_SESSIONS) = 6
2. Responsibility ID (DB, ICX_SESSIONS) = -1
3. Responsibility Application ID (DB, ICX_SESSIONS) = -1
4. Org ID (DB, ICX_SESSIONS) = 132
5. Org ID (DB, CLIENT_INFO) = 132
6. Org ID (ProfileStore.getProfile) = 132
7. Org ID (ProfileStore.getSpecificProfile with new ICX_SESSIONS values) = 132
8. Employee ID (DB, FND_GLOBAL.EMPLOYEE_ID) = -1
9. Employee ID (AppsContext.getFNDGlobal) = -1
10. Function ID (DB, ICX_SESSIONS) = -1
11. Security Group ID (DB, ICX_SESSIONS) = -1
===========================================================
[350] New Language Code = null
[351] Current Language Code = US
[352] ViewDefImpl_1_2>#q computed SQLStmtBufLen: 64, actual=24, storing=54
[353] select sysdate from dual
[354] **********oracle.jdbc.driver.OraclePreparedStatement@11abd68
[355] Column count: 1
[356] Column count: 1
[357] ViewObject : Created new QUERY statement
[358] ViewDefImpl_1_2>#q old SQLStmtBufLen: 54, actual=24, storing=54
[359] select sysdate from dual
[360] ViewObject close prepared statements...
[361] Loading from /oracle/apps/ak/region/server/server.xml file
[362] Loading from indvidual XML files
[363] Loading the Containees for the Package 'oracle.apps.ak.region.server.server'.
[364] Loading from /oracle/apps/ak/region/server/AkAmParameterRegistryVO.xml file
[365] ViewDef: oracle.apps.ak.region.server.AkAmParameterRegistryVO using glue class
[366] Column count: 2
[367] ViewObject : Created new QUERY statement
[368] AkAmParameterRegistryVO>#q computed SQLStmtBufLen: 140, actual=100, storing=130
[369] select PARAM_NAME, PARAM_SOURCE
from AK_AM_PARAMETER_REGISTRY
where APPLICATIONMODULE_DEFN_NAME = :1
[370] Binding param 1: lalith.oracle.apps.xxtmg.graph.server.GraphAM
[371] OAApplicationPoolImpl.setConnectionReleaseLevel was called with isReleased = true, isReserved = true
JRAD_PERF : /lalith/oracle/apps/xxtmg/graphs/webui/GraphPG - processRequest : 1313ms
We have recently migrated our 9i database to 10G database. Is it something related to that?
ThanksCheck whether the following thread helps.
Re: Error: You have insufficient privileges for the current Operation.
Maybe you are looking for
-
Issues with SharePoint 2013 after upgrading from windows 2012 to 2012 r2
We have a Sharepoint with Sp1 environment on windows 2012. Recently we upgraded the windows 2012 to 2012 r2. After the upgrade sharepoint environment is completely unstable. At first all the sites returned 401 errors. After resolving by resetting the
-
How to change host name entry for java instance using config tool
Hi Gurus, We are trying to invoke DR for dual stack SAP PI system.Strategy followed is BR Tool backup and restore method. We are able bring up ABAP stack and it is still pointing to production Java stack. Could any one please guide us with step by s
-
Since I got this new iMac with 10.6.2, I noticed it will not preview some word docs, or save them as pdf's. No problem with Tiger or Leopard. Also - no WYSIWYG designing in Dreamweaver CS4
-
Fetching data for multiple POs one by one using BAPI..
Hi, We have created a custom BAPI which gives all the details regading a given PO in multiple tables. Now in a report I have to give a range of PO numbers which should be passed to BAPI one by one and then the data that will is fetched in BAPI tables
-
ADFBC/JSF (10.1.3.2) What should I do on the Calling Page to genete a URL with paramaters like this: http://localhost:8988/oramag/faces/ViewEmployee.jspx?id=7934 Say for example Employee id needs to be passed as a parameter when the user clicks on th