0
Completed

Identity Broker for Dynamics CRM - Base64 Annotation encoded picture too large for Sync Service

Ryan Crossingham 11 years ago in UNIFYBroker/Microsoft Dynamics CRM updated by anonymous 8 years ago 8

Once annotation connector is added to the adapter Imports fail with the following trace.

Log Name:      Application
Source:        FIMSynchronizationService
Date:          24/06/2013 4:38:45 p.m.
Event ID:      6801
Task Category: Server
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      PSVMFIMDEV01.ps.ad.parliament.govt.nz
Description:
The extensible extension returned an unsupported error.
 The stack trace is:
 
 "System.Exception: Error encountered attempting import: System.IO.IOException: An exception has been thrown when reading the stream. ---> System.ServiceModel.CommunicationException: The maximum message size quota for incoming messages (204003200) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. ---> System.ServiceModel.QuotaExceededException: The maximum message size quota for incoming messages (204003200) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.MaxMessageSizeStream.PrepareRead(Int32 bytesToRead)
   at System.ServiceModel.Channels.MaxMessageSizeStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
   at System.Xml.EncodingStreamWrapper.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.Xml.XmlBufferReader.TryEnsureBytes(Int32 count)
   at System.Xml.XmlBufferReader.GetBuffer(Int32 count, Int32& offset, Int32& offsetMax)
   at System.Xml.XmlUTF8TextReader.ReadText()
   at System.Xml.XmlUTF8TextReader.Read()
   at System.Xml.XmlBaseReader.MoveToContent()
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   --- End of inner exception stack trace ---
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at Unify.Framework.IO.StreamExtensions.CopyTo(Stream source, Stream destination)
   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData) 

   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData)
Forefront Identity Manager 4.1.3441.0"
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="FIMSynchronizationService" />
    <EventID Qualifiers="49152">6801</EventID>
    <Level>2</Level>
    <Task>3</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2013-06-24T04:38:45.000000000Z" />
    <EventRecordID>448936</EventRecordID>
    <Channel>Application</Channel>
    <Computer>PSVMFIMDEV01.ps.ad.parliament.govt.nz</Computer>
    <Security />
  </System>
  <EventData>
    <Data>System.Exception: Error encountered attempting import: System.IO.IOException: An exception has been thrown when reading the stream. ---&gt; System.ServiceModel.CommunicationException: The maximum message size quota for incoming messages (204003200) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. ---&gt; System.ServiceModel.QuotaExceededException: The maximum message size quota for incoming messages (204003200) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.MaxMessageSizeStream.PrepareRead(Int32 bytesToRead)
   at System.ServiceModel.Channels.MaxMessageSizeStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
   at System.Xml.EncodingStreamWrapper.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.Xml.XmlBufferReader.TryEnsureBytes(Int32 count)
   at System.Xml.XmlBufferReader.GetBuffer(Int32 count, Int32&amp; offset, Int32&amp; offsetMax)
   at System.Xml.XmlUTF8TextReader.ReadText()
   at System.Xml.XmlUTF8TextReader.Read()
   at System.Xml.XmlBaseReader.MoveToContent()
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   --- End of inner exception stack trace ---
   at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at Unify.Framework.IO.StreamExtensions.CopyTo(Stream source, Stream destination)
   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String&amp; customData) 

   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String&amp; customData)
Forefront Identity Manager 4.1.3441.0</Data>
  </EventData>
</Event>

Keep in mind these base64 strings are HUGE..
How can when up this MAX or avoid this?

Its looking more and more like we need to split the adapters out James Booth...
The images are big, and create a huge overhead on the MA..

Can you ask Gerry if a nightly annotations sync is acceptable?

Nightly picture loads are fine. All imports seem to be working fine.

Good that is now seems to be working, just for information what was done to resolve the problem?

Was maxReceivedMessageSize increased, actual message sizes reduced, just a transition to nightly sync or some other magic performed?

Just trying to ensure that other people who may run across this problem and who search on Jira can see how a problem was resolved not just that it was resolved with no explanation.

miiserver.exe.config was updated to have maxReceivedMessageSize="816012800"

Great, thanks James, can the issue now be closed?

Yep can be closed

From: Greg Scott (JIRA) jira@unifysolutions.jira.com
Sent: July 3, 2013 12:00 PM
To: James Booth
Subject: JIRA (NZPPS-20) Identity Broker for Dynamics CRM - Base64 Annotation encoded picture too large for Sync Service

https://unifysolutions.jira.com/s/en_US7r6tp3-1988229788/6124/90/_/jira-logo-scaled.png

https://unifysolutions.jira.com/secure/useravatar?ownerId=greg.scott&avatarId=12230Greg Scott<https://unifysolutions.jira.com/secure/ViewProfile.jspa?name=greg.scott> commented on Client Support NZPPS-20<https://unifysolutions.jira.com/browse/NZPPS-20>
Identity Broker for Dynamics CRM - Base64 Annotation encoded picture too large for Sync Service<https://unifysolutions.jira.com/browse/NZPPS-20>

Great, thanks James, can the issue now be closed?

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Issue is resolved