We present a tool to automatically derive choreography-conforming web services systems. The user provides a specification that describes peer-to-peer collaborations of the observable behavior of parties from a global viewpoint, in our case WS-CDL documents, and the tool automatically extracts the particular behavior of each participant, more concretely, WS-BPEL documents defining the behavior from a local viewpoint. We implement two automatic methods (centralized and decentralized) that derive conforming systems even in cases where projecting the choreography into each service would lead to a non-conforming system. This issue is addressed by adding some control messages that make services interact as required by the choreography. Experiments where the number of exchanged messages is measured are presented, and strategies to reduce the number of these messages are discussed.