Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

UDDI + WSDL : problemas con get_tModelDetail

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Sab Nov 11, 2006 5:03 am
davidlo
Perlero Nuevo
Perlero Nuevo
Registrado: 11 Nov 2006
Mensajes: 16
Ubicación: Sevilla, España
UDDI + WSDL : problemas con get_tModelDetail Responder citando

Estoy implementando un WebService mediante uddi+wsdl . Una vez creado el WSDL procedo a registrar el tModel en el registro UDDI. Para ello, hago lo siguiente:

Perl:
# ...
$self->{uddiinq} = UDDI::Lite->new(
    uri => "urn:uddi-org:api_v2",
    proxy => "http://$servidor:$puerto/juddi/inquiry",
    readable => 1 );
# ...

my $uddiinq = $self->{uddiinq};
# ...

my $tM = UDDI::Data->name("tModel");
$tM->attr({tModelKey => ""});
$tM->value([
    UDDI::Data->name(name => "Interfaz de servicios eBroker"),
    UDDI::Data->name(description => "Interfaz en pruebas")
]);

$resp = $uddipub->save_tModel( authInfo => $authtoken, $tM);
if ($resp->fault){
    $log->error("Error UDDI: ". $resp->faultstring());
    return;
} else{
    print ("DEBUG: TMODEL registrado con exito\n\n");
}

# Rescatamos nuestra tModelKey
print ("DEBUG: Rescatamos nuestra tModelKey.\n");
my $tMk = $resp->dataof("//tModelDetail/tModel")->attr->{"tModelKey"};
print "\n\n". $tMk ."\n\n";

#obtenemos el tModelDetail a partir de esa clave tMk
print ("DEBUG: Recuperando el tModelDetail a partir de la tModelKey\n");
$resp = $uddiinq->get_tModelDetail($tMk);
if ($resp->fault){
    print("DEBUG: Error UDDI: ". $resp->faultstring());
    return;
}else{
    print ("DEBUG: recuperado el tModelDetail\n");
}


Obtengo el siguiente output de la ejecución de este fragmento de código:

Código:
DEBUG: TMODEL registrado con exito

DEBUG: Rescatamos nuestra tModelKey.

uuid:9F4B42F0-7017-11DB-82F0-8459E59C944C

DEBUG: Recuperando el tModelDetail a partir de la tModelKey
DEBUG: Error UDDI: org.xml.sax.SAXParseException: Element or attribute do not match QName production: QName::=(NCName':')?NCName.


¿Alguna pista de por qué no estoy recuperando correctamente el tModelDetail?
Mensaje Sab Nov 11, 2006 9:58 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4086
Ubicación: Valladolid, España
Responder citando

Pues que no es un problema de código... si no que hay un elemento que está mal definido en el uddi y/o en el wsdl.
Mensaje Mar Nov 14, 2006 3:30 am
davidlo
Perlero Nuevo
Perlero Nuevo
Registrado: 11 Nov 2006
Mensajes: 16
Ubicación: Sevilla, España
Responder citando

Gracias. He estado revisando y debe estar mal el xsd. En relación con esto, otra pregunta. Estoy generando mi WSDL mediante el módulo WSDL::Generator, en el cual me da la interfaz WSDL y también la implementación WSDL (service y binding), que yo debo separar a pelo, publicando la interfaz como tModel y la implementación como BusinessService y BindingTemplate. La pregunta es si la definición de elementos xsd que me hace en el apartado types deberían también separarse para constituir el archivo xsd. Puede parecer una pregunta muy obvia pero es la primera vez que trabajo con esto y agradecería toda aportación.

Por otra parte, me gustaría que alguien me aclarara los parámetros schema_namesp, target_namesp y location que se usan en la inicialización del WSDL::Generator (se encuentra en la página http://search.cpan.org/~pdenis/WSDL-Generator-0.02/lib/WSDL/Generator.pm ).

Un saludo y gracias.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group