Hi
Unlike the Orders and Catalog adapters where there is a lot of help and examples (excellent webcasts by A Faulkner and B Blum) there is almost nothing on working with the BizTalk Profiles adapters.
I need to use the Profiles adapter to update a single (custom) property in the UserObject table. Which schema do I use (Is it the ProfileDocument schema )

Profile adapter
GraemeP
yes, Alan I tried this too, but when I do I get a validation failed error:
The message body received by the send adapter is not valid for the CommerceServerProfilesUpdate API call. Message ID: 3d31532d-99eb-4472-9563-0ac03147d566. Detail: Validation of the provided profile XML failed. The profile does not contain a required property. Property Name = 'GeneralInfo.user_security_password'.
The message "The profile does not contain a required property. Property Name = 'GeneralInfo.user_security_password'." - is confusing: we dont have it ( user_security_password) as required in the schema. I think it may simply means it didnt recognize the UserId as valid data.
here is out output message to CS
<ProfileDocument><UserObject>
<GeneralInfo><user_id>{ffc429f-5340-4902-ad99-7beee1a6bbcb}</user_id>
<store_credits_last_update_date>2007-01-19T11:59:59</store_credits_last_update_date>
<store_credits>150.00</store_credits>
</GeneralInfo></UserObject></ProfileDocument>
In the schema except for the user_id, everything is OPTIONAL (minOccurs=0)
Adriaan W
Hey,
Yes, ProfileDocument.xsd is the schema for Profile Update.
Using the Startersite, you will need to include braces(" {...} " ) around your User ID value for the profile. So using Biztalk Profile Adapter, you will need to wrap your UserID values within braces ("{...user_id...}"). Hence, you should have this:
<GeneralInfo><user_id>{ffc429f-5340-4902-ad99-7beee1a6bbcb}</user_id>
Hope this helps and let me know if you have additional questions.
Thanks
Alan
Suckafish
Igor Lemsky
When I send this message to Commerce Server via the Profiles adapter:
<ProfileDocument><UserObject>
<GeneralInfo><user_id>fffc429f-5340-4902-ad99-7beee1a6bbcb</user_id>
<store_credits_last_update_date>2006-10-22T11:59:59</store_credits_last_update_date>
<store_credits>150.00</store_credits>
</GeneralInfo></UserObject></ProfileDocument>
I get back the following responst
< xml version="1.0" encoding="utf-8" >
<CommerceServerProfilesUpdateResponse>
<InvalidProfileUpdateMessage>The message body received by the send adapter is not valid for the CommerceServerProfilesUpdate API call. Message ID: 1f9dfb22-1678-4120-8ae5-ba9a1fa94c6e. Detail: The profile instance requested does not exist.
Profile Type = 'UserObject'
Primary Key Property Name = 'GeneralInfo.user_id'
Primary Key Value = 'fffc429f-5340-4902-ad99-7beee1a6bbcb'
</InvalidProfileUpdateMessage></CommerceServerProfilesUpdateResponse>
The UserID fffc429f-5340-4902-ad99-7beee1a6bbcb DOES Exist in our <dbname>_profiles.UserObject (as a user_id).
One thing I noticed is that the profiles.UserObject table saves the data as {fffc429f-5340-4902-ad99-7beee1a6bbcb} - with the curly braces {} in the User_Id column.
BarrySumpter
CodeDigger,
http://msdn2.microsoft.com/en-us/library/aa544699.aspx
Towards the bottom of the page, labeled ExportProfileXSD.exe.
TACIR
Hey,
Look at the samples in the SDK folder and it will provide the XSD for the default profile schema as well as sample messages. (%Program Files%\Microsoft Commerce Server 2007\Sdk\Samples\Adapters). If you modified the schemas then you can use the ExportProfileXSD tool as already mentioned.
Let me know if you have any specific questions and I'll be glad to help!
Thanks
Alan