Building complex component-based software architectures can lead to subtle assemblage errors. In this paper, we introduce a typesystem-based approach to avoid message handling errors when assembling component-based communication systems. Such errors are not captured by classical type systems of host programming languages such as Java or ML. Our approach relies on the definition of a small process calculus that captures the operational essence of our target component-based framework for communication systems, and on the definition of a novel type system that combines row types with process types. Categories and Subject Descriptors D.3.1 [Programming Languages]: Formal Definitions and Theory General Terms Languages, Theory Keywords Components, type system, component types, process types, type inference, assemblage errors, communication systems