Problema Webservice .net cliente JAVA

Está retornando 0 sempre, mas o resultado não está de acordo com o os paramêtros enviados e a operação.
Segue código para análise.
import javax.xml.namespace.QName;

import javax.xml.rpc.Call;
import javax.xml.rpc.ServiceFactory;

public class teste2 {

public static void main(String[] args) {

    String targetNamespace = "http://tempuri.org/";
    try { 
    	/* Service lookup */
    	ServiceFactory serviceFactory = ServiceFactory.newInstance();
    	javax.xml.rpc.Service service = serviceFactory.createService(
    			new QName(targetNamespace));
    	
    	/* Service access */
    	Call call = (Call) service.createCall();
    	call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "");
    	call.setProperty(Call.OPERATION_STYLE_PROPERTY, "document");
    	call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean( true ));
    	call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://tempuri.org/Sub");
    	call.setTargetEndpointAddress("http://webservices.companhiaweb.com.br/service.asmx?wsdl");
    	call.removeAllParameters();
    	call.setPortTypeName(new QName(targetNamespace, "ServiceSoap"));
    	
    	
    	call.setOperationName(new QName(targetNamespace, "Sub"));
    	if (call.isParameterAndReturnSpecRequired(call.getOperationName())){
    		call.addParameter(
    				"in0",
    				new QName("http://www.w3.org/2001/XMLSchema", "double"),
    				javax.xml.rpc.ParameterMode.IN);
    		call.addParameter(
    				"in1",
    				new QName("http://www.w3.org/2001/XMLSchema", "double"),
    				javax.xml.rpc.ParameterMode.IN);
    		call.setReturnType(
    				new QName("http://www.w3.org/2001/XMLSchema", "double"));
    	}
   	
    	/* Service invocation */
    	Object[] a = new  Object[] { new Double(2), new Double(3)};
    	double ret = (Double) call.invoke(a);
    	System.out.println(ret);
    	
    } catch(Exception e) {
    	e.printStackTrace();
    }
}

}
É o webservice que tá com problema para o retorno 0 ou tem algo de errado no fonte?
Obrigado pela atenção.