As business transactions become more complex it is important that all participants obey the so called rules of engagement. These rules of engagement can be captured in an interaction protocol or choreography. A choreography provides rules on how various webservices act together, in terms of observable behavior. We investigate how we can extract a protocol from a program and verify whether or not the implementation adheres to the protocol. We derive an algorithm to verify whether a program is operationally compatible with a protocol, meaning the program does not violate the protocol. This guarantees that a program will be from anomalies suchs as dead lock or failure due to unexpected messages. © 2006 IEEE.