Web Services Metadata for the Java Platform

The WebService annotation (required) is found before the class or interface declaration within the Java file. When the WebService annotation is found before a class declaration it marks that class as implementing a Web service and all public methods will become part of the Web service interface unless explicitly declared using the WebMethod annotation or an endpointInterface is declared. When the WebService annotations are found before an interface declaration it identifies that interface as a Web service interface and all methods within the interface are considered part of the Web service end-point regardless of the WebMethod annotations within the interface.

@WebService(
    name = "StatsWS",
    targetNamespace = "http://services.symmetrysolutions.com/statsws",
    serviceName = "StatsWS"
    )


The SOAPBinding annotation (optional) is found before the class or interface declaration within the Java file. The SOAPBinding annotation allows the developer to control the mapping of the Web service onto the SOAP message protocol.

@SOAPBinding(
    style = SOAPBinding.Style.RPC,
    use = SOAPBinding.Use.ENCODED
    )


The WebMethod annotation (optional) is declared at the method level and is used to customize a method that is exposed as a Web service operation. When used within an implementation class it allows the developer to limit which methods are to be exposed as a Web service, the name associated with the operation, and the SOAPAction binding. When used in an interface file, it is only used to control the name associated with the operation and the SOAPAction binding.

@WebMethod(operationName = "getAllStatistics")


The WebParam annotation (optional) is declared within method and is used to customize the parameters within a Web service operation. The WebParam is most commonly used with the RPC style binding but it can also be used to associate a parameter to an element name and namespace with DOCUMENT style binding.

@WebParam(name = "category", mode="IN")


The WebResult annotation (optional) is declared at the method level and is used to customize the return value of the Web service operation.

@WebResult(name = "categoryList")


Quelle

http://www.ibm.com/developerworks/webservices/library/ws-deployjava.html