Valdimir Khorikov lists in a InfoQ article some bad principles in context of the Microservice Architecture. Outlining bad principle instead of good one is really helpful, something what got established as well in the Java world with its concept of Anti-Pattern.
Sometimes its more helpful to understand some traps in a area. Part of its finding could be used as well for SOA based architectures. E.g. the bad principle to establish integration libraries instead of providing a clean interface which can be used and integrated by the consumer. Client libraries are nice and convenient but will get hard to maintain over time, due to extensions to various languages, versions etc. So keep it simple go for a clean interface in REST or SOAP style and leave the client bindings to the consumer.