Both
and
seem to define an operation and its message. I don\'t quite understand, why are they both necessary?
portType
A single Web service can support a number of different protocols. The structure of the data depends on the protocol that you use to invoke the Web service. Because of this, you need a way to map from the operations to the endpoints from which they can be accessed. The portType element takes care of this mapping.
You can place a portType definition for each of the protocols available to you for this Web service. For instance, you can have individual portType definitions for using SOAP, HTTP-POST, and HTTP-GET. The operation name is the method available from the Web service.
binding
You can define how the end user binds to a port where the operation is obtainable. You do this by using the element.