Java - Cliente webservice

   
Vista:

Cliente webservice

Publicado por m@x (1 intervención) el 14/11/2008 13:02:21
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.getOperationMetaData(CommonClient.java:181)
at org.jboss.ws.core.jaxrpc.client.CallImpl.setReturnType(CallImpl.java:250)
at org.jboss.ws.core.jaxrpc.client.CallImpl.setReturnType(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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cliente webservice

Publicado por Diego Vélez (9 intervenciones) el 17/11/2008 13:20:36
Hola M@x.
Puede ser que tengas problemas en las versiones de las librerías de webservices de Tomcat y Jboss, por eso se comprtan diferente. Asegúrate de que las librerías que usas en Jboss sean las mismas que probaste com Tomcat.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cliente webservice

Publicado por Consultoriajava.com (59 intervenciones) el 17/11/2008 17:44:36
Nosotros cuando tenemos problemas parecidos montamos un analizador de SOAP para ver que esta haciendo por debajo la implementacion que estas usando.

Prueba SOAPUI y si consigues recuperar un mensaje envianoslo y te lo miramos.

Respuesta proporcionada por expertos en java de consultoriajava.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar