In the context of service-oriented computing, behavioural contracts are descriptions of the message-passing behaviour of services. They can be used to check properties of service compositions such as, for instance, clientservice compliance. Previous formal models for contracts consider unidirectional send and receive operations. In this paper, we present two models for contracts with bidirectional request-response operations, in the presence of unboundedly many instances of both clients and servers. The first model takes inspiration from the abstract service interface language WSCL, the second one is inspired by Abstract WS-BPEL. We prove that client-service compliance is decidable in the former while it is undecidable in the latter, thus showing an interesting expressiveness gap between the modeling of request-response operations in WSCL and act WS-BPEL.