IProfileService2::CreateProfileXML Method
For the latest version of Commerce Server 2007 Help, see the Microsoft Web site.
Use this method to create a ProfileObject object using XML data.
HRESULT IProfileService2::CreateProfileXML(
VARIANT sValue,
BSTR bstrProfileType,
BSTR bstrProfileXML,
XMLFormatEnum eXMLFormat,
IProfileObject2** pIProfileObject2
);
Function CreateProfileXML(
sValue As Variant,
bstrProfileType As String,
bstrProfileXML As String,
eXMLFormat As XMLFormatEnum
) As IProfileObject2
Parameters
sValue
[C++][in] A VARIANT that contains the primary key value for the new ProfileObject object. The variable types permitted for this variant are VT_BSTR or VT_I4.
[Visual Basic]
A Variant that contains the primary key value for the new ProfileObject object. The variable types permitted for this variant are String or Long.
bstrProfileType
[C++][in] A BSTR that contains the profile type.
[Visual Basic]
A String that contains the profile type.
bstrProfileXML
[C++][in] A BSTR that contains the profile properties in XML.
[Visual Basic]
A String that contains the profile properties in XML.
eXMLFormat
[C++][in] An XMLFormatEnum that contains the XML format. See the Remarks section for allowed values.
[Visual Basic]
An XMLFormatEnum enumeration that contains the XML format. See the Remarks section for allowed values.
pIProfileObject2
[C++][out, retval] The address of a pointer to the IProfileObject interface of the newly created ProfileObject object. The pointer is set to NULL if a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.
Return Value
[C++]
This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.
[Visual Basic]
If this method completes successfully, it returns the newly created ProfileObject object. The object is set to Nothingif a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.
Error Values
The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.
Remarks
If the CreateProfile method fails on an aggregated profile (one that has multiple data sources), the DeleteProfile method must be called to clean up any entries in the data stores. In this case, the DeleteProfile method will produce an error that should be ignored.
Call the Update method on the returned ProfileObject object to commit the new profile to the data store. The Update method will verify that a ProfileObject object with the specified attributes does not already exist in the database.
The Fields property of the returned ProfileObject object provides access to the profile properties.
Use the GetProfile or GetProfileByKey method to retrieve existing ProfileObject instances from the Profiles store.
Call the Initialize method before you use this ProfileService method.
The following table shows the values in the XMLFormatEnum enumeration, their associated names, and describes their use.
Name |
Value |
Description |
---|---|---|
eInvalid |
0 |
Reserved for future use. |
eAttributeCentric |
1 |
Attribute centric XML format. |
eElementCentric |
2 |
Element centric XML format. |
The ppProfileObject parameter contains valid data only if the method completes successfully.
Example
' oProfileService is a Server ProfileService object.
' oProfileObject1 and oProfileObject2 are Commerce Server ProfileObject objects.
' sXMLProfile is a string contining the profile properties.
oProfileObject1 = oProfileService.CreateProfileXML _
("{73A4C9C1-D68D-11D0-98BF-00A0C90DC8DF}", "Address", sXMLProfile, )
oProfileObject2 = oProfileService.CreateProfileXML _
("Joeuser@microsoft.com", "UserObject", sXMLProfile, )
See Also
Other Resources
IProfileService2::DeleteProfile Method
IProfileService2::GetProfile Method
IProfileService2::GetProfileByKey Method