Both
and
seem to define an operation and its message. I don\'t quite understand, why are they both necessary?
PortType defines the abstract interface of a web service.
Conceptually it is like a Java interface since it defines an abstract type and related methods.
In WSDL the port type is implemented by the binding and service elements which indicate the protocols, encoding schemes etc to be used by a web service implementation
I.e. the binding specifies concrete implementation details and essentially maps a portType to a set of protocols (HTTP and SOAP) message styles (Document/RPC) and encodings (literal)
Is the distiction clear now?