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 not enter a dead lock or fail due to unexpected messages.