I'm working in a BizTalk project that has an orchestration published has a web service, that receives messages that are going to be routed to one of several another web services. For this, I used a Role Link that dynamically invokes the web service based on a specific qualifier. But, in production environment I've started to receive some messages with more than 1 MB. When the message was being delivered to the other endpoint it was getting a timeout. Reading the Microsoft documentation I've noticed that the SOAP Adapter has a property (SOAP.ClientConnectionTimeout) that can be assigned inside the orchestration. But the problem emerges when the orchestration doesn't have a Send Port (bonded to a SOAP Adapter) on which I can assign that property, like in my case. I only have the Role Link.
Fortunately, Tiago found a post from Tomas Restrepo (read it here). Basically he explains that we can also affect the SOAP.ClientConnectionTimeout on a Message Assignment shape when constructing the message that is going to be delivered. Something like this:
MyRequestMessage(SOAP.ClientConnectionTimeout) = 600000; // Equals to 10 minutes
Remember that this property receives an Int32 represented in milliseconds.
Now I simply construct the message and assign the SOAP.ClientConnectionTimeout property and the problem is solved :)