Estou com um problema, fiz o cliente em java para o webservice em .net mas
tá retornando 0 sempre, numa operação com parametros q nao era para ser esse
resultado. Segue código abaixo:
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();
}
}
}
Será que o webservice q ta com problema?