Deberías darte una leida sobre SOAP y WSDL, dale una chekada al google.
De todas maneras los web services pueden estar construidos de dos maneras: un servidor de servicios y un consumidor de servicios.
Lo bueno es que estos son totalemente independientes del lenguaje de programacion.
Aqui tengo un ejemplo cliente que lo construí para que lo chekearas.
Código PHP:
import clienteWS.ListadoService;
import java.io.Serializable;
import java.util.List;
/**
*
* @author jcalle
*/
public class Cliente implements Serializable
{
List<String> lis; //para capturar la lista de nombres el cual reside en el servidor.
public List<String> getLis() {
return lis;
}
public void setLis(List<String> lis) {
this.lis = lis;
}
public Cliente()
{
}
public void metodo()
{
try {
clienteWS.ListadoService servicio=new ListadoService(); // se crea el servicio
clienteWS.Listado objeto = servicio.getListadoPort(); // se abre la conexion
lis=objeto.listarPersonas(" José Carlos "); y se conecta al metodo remoto llamado listarPersonas y se asigna el contenido a lis
} catch (Exception ex)
{
System.out.println("Error : "+ex.getMessage());
}
}
}
si requieres el ejemplo completo te lo paso a tu correo.