Cliente Webservice
Hola a todos,
estoy desarrollando un cliente (NetBeans IDE 6.1 (Build 200805300101)) para conectar con un webservice. Hasta ahora lo he estado probando con un tomcat y me
funcionaba perfecto. Ahora lo estoy probando con un jboss (jboss-4.2.3.GA), y cuando lo ejecuto me da un error en tiempo de ejecución, con el mismo código.
El error que me da no acabo de entenderlo muy bien, y tampoco he encontrado un caso similar buscando por internet. Por el error entiendo que me falta definir
algo, pero ese algo diria que ya lo tengo definido.
En fin, si alguien puede ayudarme, se lo agradeceria mucho.
Código:
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.Service;
import javax.xml.rpc.Call;
import javax.xml.namespace.QName;
public class multa {
private static String qnameService = "PruebaService";
private static String qnamePort = "Prueba";
private static String NS_XSD = "http://www.w3.org/2001/XMLSchema";
private static String URL_WEBSERVICE = "http://192.168.144.95:8080/prueba";
public static String cridaLogin(){
String result="";
try {
ServiceFactory factory = ServiceFactory.newInstance();
Service service = factory.createService(new QName(qnameService));
QName port = new QName(qnamePort);
Call call = service.createCall(port);
call.setTargetEndpointAddress(URL_WEBSERVICE);
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY," ");
QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
call.setReturnType(QNAME_TYPE_STRING);
call.setOperationName(new QName(URL_WEBSERVICE,"login"));
call.addParameter("user", QNAME_TYPE_STRING, ParameterMode.IN);
call.addParameter("password", QNAME_TYPE_STRING, ParameterMode.IN);
String[] params = {"AAA",""};
result = (String)call.invoke(params);
System.out.println(result);
} catch (Exception ex){ex.printStackTrace();}
return result;
}
public static void main(String[] args) {
try{
String xml=cridaLogin();
System.out.println(xml);
}catch (Exception ex){ex.printStackTrace();}
}
}
Error:
run-main:
org.jboss.ws.WSException: Operation name not set
at org.jboss.ws.core.CommonClient.getOperationMetaDat a(CommonClient.java:181)
at org.jboss.ws.core.jaxrpc.client.CallImpl.setReturn Type(CallImpl.java:250)
at org.jboss.ws.core.jaxrpc.client.CallImpl.setReturn Type(CallImpl.java:240)
at funcions.multa.cridaLogin(multa.java:33)
at funcions.multa.main(multa.java:51)
BUILD SUCCESSFUL (total time: 2 seconds)
m@x.