Last post Aug 21, 2007 10:59 AM by JenniferPhillips
Aug 20, 2007 11:30 AM|JenniferPhillips|LINK
I've a bit of a problem which I hope someone here can help with.
We need to update some permissions on Public Folders, having a look through the MPS docs quickly came up with ModifyFolder in the Exchange Provider namespace. Currently we have our own custom Control Panel and provisioning system which talks to HMC 3.5
and uses the web services under MPSWS to talk to HMC.
The first issue we had was there was no Web Service interface for the Exchange Provider name space, so I took the source code for MPSWS replaced MPFClientWrapper with my own wrapper (Basically MPFClientWrapper run through Reflector) and copied the Webservice
code from one of the other providers.
When talking to other namespaces it works fine so the code is generally talking to MPS correctly.
My first problem was the members of the Exchange Provider namespace are all private, so I marked ModifyFolder as Public so I could call it and now I just cant get the call to work properly. The input XML is fine as I can run it via ProvTest with no problem
when logged in to MPS01 as the same user as I call the web services with the issue just seems to be getting the right combination of user IDs, Trusted callers so it will work (I hope).
I've tried submitting the XML using SubmitRequest which returns
<response><errorContext description="Access is denied." code=\"0x80070005\" /></response>
Which does make sense, when submitting it using SubmitTrustedRequest I get
<response><errorContext description=\"Calling user not authorized for invoking trusted method.\" code=\"0xc2201519\" executeSeqNo=\"0\"/></response>
Even though the user specified by the Basic Authentication is a Domain Admin and in the MPFAdmins and MPFTrustedUsers groups.
Aug 21, 2007 03:31 AM|sdupas|LINK
The best way would be to create a namespace with a public procedure (e.g. MyNamespace::ModifyFolderPermissions) which calls the exchange provider namespace. In this way, the exchange provider procedure would stay private. You can take the Managed Exchange::ModifyFolder
as an example...
In the future you can add any procedures you have created/modified to customize the solution into your own namespace.
Regarding the call from the web service, you can use the MPSGeneral web service in HMC3.5, it allows you to call any public MPS procedure.
Aug 21, 2007 10:59 AM|JenniferPhillips|LINK
As I had already made ModifyFolder public calling MPSGeneral worked a treat, saved the need for writing a new namespace although when I go back and tidy it all up later I will end up doing that.
Thanks for your help.