If all the parties using a web service understand exactly how to format requests from your web service and parse the response, then you don't
technically need a WSDL. However, the WSDL incorporates all of that precise request/response formatting in its definition in a way that is easily digestible by many tools like JAX-WS. Especially with
SOAP messages, the WSDL is the key that allows you to use all kinds of tools that know how to deal with web services. So if an informal writeup on your web service's interface is acceptable, you don't have to use a WSDL -- especially if you're not using SOAP messages. If you're using SOAP or you want to use tooling to work with the web service, you'll need a WSDL.