HTTPs (oversimplified) encrypts the communication. That's important indeed, because the network topology is not flat. It's not a p2p communication between client and server, there're more agents of all sort in between. But only HTTPs solely won't prevent other agents trying to get access to the services.
To avoid such illicit access we usually implement authentication and authorization. Regarding SOAP, we have Ws-security. It's an extension of SOAP to apply security to the web service throught security-specific message headers. It supports several authentication protocols, as for instance basic authentication, username tokens, user-password, SAML, Kerberos, etc.
Implementation details aside, it's important to know that, once the WS is public, with or without authentication, it's visible for everyone on the WWW. We cannot prevent people (or bots) trying to access to the services. The best we can do is making this hard or near impossible. But bear in mind that security is sized according with feasible threats. We first look for security vulnerabilities in the system, we weight the risks and then we size the security accordingly.
It might interest