• Publicidad

Cliente Perl consumiendo servicio Java usando WSDL

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cliente Perl consumiendo servicio Java usando WSDL

Notapor scout » 2011-05-27 18:39 @818

Dándole vuelta a la tuerca, ahora estoy intentando de conectar un cliente Perl como el siguiente con un servicio web Java probado con un cliente Java y funcionando. El servicio Java crea automáticamente el archivo WSDL, así que asumimos que lo crea correctamente y lo probamos con un cliente Java ( que no viene al caso ya que la idea es probar el Perl como cliente, pero confirmo que funciona bien ) :

Cliente Perl:

use SOAP::Lite +trace => [qw(debug)];
my $result ;
print "Connecting to Hello Service...\n";
my $client = SOAP::Lite->service( 'http://localhost:8080/primerawebenjava/NewWebService?WSDL');
print $result = $client->nombre();


La función es “nombre” .
A simple vista el cliente Perl no da más respuesta, que “Connecting to Hello Service...
“; poniendo el debug da el siguiente detalle que no logro entender dónde está el problema… para realizar la interconexión.

Script Output :
Executing file : C:\clientehelloajava.pl

SOAP::Transport::HTTP::Client::send_receive: POST http://localhost:8080/primerawebenjava/NewWebService HTTP/1.1
Accept: text/xml
Accept: multipart/*
Accept: application/soap
Content-Length: 684
Content-Type: text/xml; charset=utf-8
SOAPAction: ""

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://primerservicio/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><tns:nombre xsi:nil="true" /></soap:Body></soap:Envelope>
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Server Error
Connection: close
Date: Mon, 23 May 2011 07:45:50 GMT
Server: GlassFish Server Open Source Edition 3.1
Content-Type: text/xml;charset=utf-8
Client-Date: Mon, 23 May 2011 07:11:13 GMT
Client-Peer: 127.0.0.1:8080
Client-Response-Num: 1
Client-Transfer-Encoding: chunked
X-Powered-By: Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1 Java/Sun Microsystems Inc./1.6)

<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"><faultcode>S:VersionMismatch</faultcode><faultstring>Couldn't create SOAP message. Expecting Envelope in namespace http://schemas.xmlsoap.org/soap/envelope/, but got http://schemas.xmlsoap.org/wsdl/soap/ </faultstring></S:Fault></S:Body></S:Envelope>
Use of uninitialized value $result in print at C:\clientehelloajava.pl line 5.
Connecting to Hello Service...
Última edición por explorer el 2011-05-27 18:50 @826, editado 2 veces en total
Razón: PERL -> Perl, perl -> Perl, java -> Java, JAVA -> Java
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Publicidad

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor panterozo » 2011-06-01 17:32 @772

Hola scout:

Checa aquí.. puse una solución distinta al final para .Net, sí

¡¡¡Saludos!!!
Última edición por explorer el 2011-06-01 17:37 @776, editado 1 vez en total
Razón: Poner caracteres '¡'
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor scout » 2011-06-02 00:44 @072

A ver... le daré una oportunidad más a Perl. De Perl a Perl va genial, todo se traba para crear el WSDL. Haciendo pruebas veo que los demás lenguajes lo arman automáticamente y en Perl no encontré la forma de crear un WSDL que se pueda leer... Gracias por responder. Si puedo avanzar en ello os pongo la solución o métodos realizados...
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor scout » 2011-06-02 02:27 @143

Panterazo, de pura curiosidad sobre pruebas realizadas, ¿has intentado crear el servicio desde Perl y tener un cliente en .NET ya sea C#, visual o el que te guste más?
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor explorer » 2011-06-02 05:22 @265

scout escribiste:todo se traba para crear el WSDL
¿No te han valido los otros módulos que te enlazamos en los otros hilos?

Yo tenía entendido que el WSDL era siempre el mismo a la hora de consumir un servicio web. Es decir: solo tenemos que generarlo una vez. Lo colocamos dentro de la cadena de ejecución, y el cliente y el servidor harán uso de él.

Aparte de WSDL::Generator (que todo el mundo está de acuerdo en que es muy pesado), otra opción para generarlo es, por ejemplo POD::WSDL. Solo tienes que crear la definición del WSDL en formato pod, pasarlo por el módulo, y ya tienes generado el WSDL. Luego, solo queda mover el WSDL al cliente y al servidor.

Lo bueno de este módulo, es que puedes tener definida toda la funcionalidad del servidor en un paquete Perl, y la propia documentación del paquete, en formato POD, es la que va a crear el WSDL.

Bueno, es otra forma de hacerlo...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor scout » 2011-06-02 06:00 @291

Este hilo que planteo es un cliente Perl haciendo uso de un WSDL generado y funcionando en Java, pero haciendo uso del cliente propuesto, me da error 500, y la consulta era básicamente si alguno tuvo un problema similar o pudo consumir un servicio creado en Java.

La información de crear el WSDL en Perl con los módulos recomendados se utilizó en las otras pruebas que expuse en otros hilos. Con el módulo POD creé el archivo WSDL pero sin éxito, desde un cliente Java...

Revisaré estos días, nuevamente... desde cero... todos los casos.

Gracias por vuestras respuestas, mi objetivo hoy es diferente al inicial ya que ahora quiero aprender cómo servicios Perl con clientes en otros lenguajes y otros servicios en otros lenguajes con clientes Perl, utilizando WSDL, por eso voy planteando cada prueba realizada…


Cliente Perl:

use SOAP::Lite +trace => [qw(debug)];
my $result ;
print "Connecting to Hello Service...\n";
my $client = SOAP::Lite->service( 'http://localhost:8080/primerawebenjava/NewWebService?WSDL');
print $result = $client->nombre();
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor panterozo » 2011-06-08 18:18 @804

En efecto, al intentar crear el WSDL en Perl, queda ni más ni menos que $#//¡¿''¡... en fin...

Yo no me rindo con Perl, así que de todas formas generé mi WSDL, haciendo más pruebas que nunca, y leyendo más de lo que suponía para generarlo. Al final, funciona todo Ok...

Para probar el Web Service de Perl, utilicé soapUI-3.6.1 y le pedí a un amigo que probara desde Eclipse. Le doy a importar el WSDL, y me genera el cliente (Request) y la información de vuelta (Response)... Con soapUI, y leyendo un poco de Schema, logré realizar correctamente el WSDL.

Los primeros pasos para generar el WSDL fueron con Pod::WSDL.

Un ejemplo del servidor Perl...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. package Servidor;
  2.  
  3. use Acciones;
  4. use SQLQueries;
  5.  
  6. =begin WSDL
  7.  
  8. _IN usuario $string Usuario a validar
  9. _IN password $string Clave Acceso
  10. _RETURN @string Informacion Total
  11.  
  12. =cut
  13.  
  14. sub InfoOnline{
  15.    my ($user,$pass) = @_;
  16.    return "Lo que vayamos a retornar";
  17. }
  18.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


y el script que lee este fichero y genera un WSDL:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.   use Pod::WSDL;
  2.  
  3.   my $pod = new Pod::WSDL(source => './cgiserver.cgi',
  4.     location => 'http://localhost/Servidor',
  5.     pretty => 1,
  6.     withDocumentation => 1);
  7.  
  8.   print $pod->WSDL;
  9.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Ahora bien, el problema que me surgió a mi, que al comienzo, documento que se retorna un array de arrays, pero con Pod no lo pude solucionar. No quedaba otra de entrar a mano a cambiar el WSDL, y para esto hay que leer un poco más.

En la sección message del WSDL, cambié el type por tns1:Data...
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <wsdl:message name="InfoOnlineResponse">
  2.   <wsdl:part name="InfoOnlineResult" type="tns1:Data">
  3.     <wsdl:documentation>Informacion Total</wsdl:documentation>
  4.   </wsdl:part>
  5. </wsdl:message>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


... el cual tiene la información que retorno.

Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <wsdl:types>
  2.   <schema targetNamespace="http://localhost/Servidor" xmlns="http://www.w3.org/2001/XMLSchema">
  3.     <import namespace="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" />
  4.     <complexType name="Data">
  5.       <sequence>
  6.         <element name="dato1" type="tns1:ArrayOfString" minOccurs="0"/>
  7.         <element name="dato2" type="tns1:ArrayOfString" minOccurs="0"/>
  8.         <element name="dato3" type="tns1:ArrayOfString" minOccurs="0"/>
  9.         <element name="dato4" type="tns1:ArrayOfString" minOccurs="0"/>
  10.       </sequence>
  11.     </complexType>
  12.     <complexType name="ArrayOfString">
  13.       <sequence>
  14.         <element minOccurs="4" maxOccurs="4" name="string" nillable="true" type="xsd:string"/>
  15.       </sequence>
  16.     </complexType>
  17.   </schema>
  18. </wsdl:types>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


El envío es como...
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <<span class="posthilit">soap</span>:Envelope xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/<span class="posthilit">soap</span>/" <span class="posthilit">soap</span>:encodingStyle="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" xmlns:<span class="posthilit">soap</span>="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/envelope/" xmlns:tns1="http://localhost/Servidor" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  3. <<span class="posthilit">soap</span>:Body>
  4.   <tns1:InfoOnline>
  5.     <usuario xsi:type="xsd:string">panterozo</usuario>
  6.     <password xsi:type="xsd:string">panterozo</password>
  7.   </tns1:InfoOnline>
  8. </<span class="posthilit">soap</span>:Body>
  9. </<span class="posthilit">soap</span>:Envelope>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y el retorno
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <<span class="posthilit">soap</span>:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" <span class="posthilit">soap</span>:encodingStyle="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" xmlns:<span class="posthilit">soap</span>="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/envelope/">
  3. <<span class="posthilit">soap</span>:Body>
  4.   <InfoOnlineResponse xmlns="http://localhost/Servidor">
  5.     <InfoOnlineResult>
  6.       <dato1>
  7.         <string xsi:type="xsd:string">0</string>
  8.         <string xsi:type="xsd:string">0</string>
  9.         <string xsi:type="xsd:string">0</string>
  10.         <string xsi:type="xsd:string">0</string>
  11.       </dato1>
  12.       <dato2>
  13.         <string xsi:type="xsd:string">0</string>
  14.         <string xsi:type="xsd:string">0</string>
  15.         <string xsi:type="xsd:string">0</string>
  16.         <string xsi:type="xsd:string">0</string>
  17.       </dato2>
  18.       <dato3>
  19.         <string xsi:type="xsd:string">0</string>
  20.         <string xsi:type="xsd:string">0</string>
  21.         <string xsi:type="xsd:string">0</string>
  22.         <string xsi:type="xsd:string">0</string>
  23.       </dato3>
  24.       <dato4>
  25.         <string xsi:type="xsd:string">0</string>
  26.         <string xsi:type="xsd:string">0</string>
  27.         <string xsi:type="xsd:string">0</string>
  28.         <string xsi:type="xsd:string">0</string>
  29.       </dato4>
  30.     </InfoOnlineResult>
  31.   </InfoOnlineResponse>
  32. </<span class="posthilit">soap</span>:Body>
  33. </<span class="posthilit">soap</span>:Envelope>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


y en la función "InfoOnline" vista más arriba, reemplazar "Lo que vayamos a retornar" por:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. return <span class="posthilit">SOAP</span>::Data->name(InfoOnlineResult =>
  2.            \<span class="posthilit">SOAP</span>::Data->value(
  3.                     <span class="posthilit">SOAP</span>::Data->name(data1
  4.                     => \<span class="posthilit">SOAP</span>::Data->value(
  5.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  6.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  7.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  8.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string')
  9.                                          )
  10.                                     ),
  11.                     <span class="posthilit">SOAP</span>::Data->name(data2
  12.                     => \<span class="posthilit">SOAP</span>::Data->value(
  13.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  14.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  15.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  16.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string')
  17.                                          )
  18.                                     ),
  19.                     <span class="posthilit">SOAP</span>::Data->name(data3
  20.                     => \<span class="posthilit">SOAP</span>::Data->value(
  21.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  22.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  23.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  24.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string')
  25.                                          )
  26.                                     ),
  27.                     <span class="posthilit">SOAP</span>::Data->name(data4
  28.                     => \<span class="posthilit">SOAP</span>::Data->value(
  29.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  30.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  31.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string'),
  32.                                 <span class="posthilit">SOAP</span>::Data->name(string=>0)->type('string')
  33.                                          )
  34.                                      )
  35.                              )
  36.                        );
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Hay que tomar en cuenta que para cualquier programa es una asaña generar el WSDL, así que sí o sí, con Perl me quedo.

Por más que traté, no logré hacer nada con WSDL::Generator, y no se lo recomiendo a nadie por el momento.

Espero esto le sea de utilidad a alguien más para que no se dé la lata que me di yo :s...

¡¡¡Saludos!!!
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor scout » 2011-06-09 01:08 @089

Veo que te lo curraste lindo... felicitaciones... había perdido la esperanza.

Por mi parte y para poder al menos comentar algo prefiero vivirlo así, que estuve haciendo las pruebas de generar y consumir servicios con Java y armar el WSDL del servicio o consumirlo o exportarlo son pocos clic. Es envidiable como va el NetBeans... pero obviamente a mi gusto Perl siempre me tira más... salvo para generar el WSDL...

Muy buena tu respuesta y estoy tratando de reproducirla... más o menos voy por el mismo lugar que estuve pero con tu cgi, el WSDL ya lo generé con el pod y la sección de message ya la incrusté a mano pero dime o muéstrame como te quedó a ti, por favor... con que vea una pequeña llama en mi mechero incendiaré ROMA... A mi el WSDL me quedo así... Poca diferencia pero necesito compararlo con el tuyo si puede ser.

<?xml version="1.0" encoding="UTF-8"?>
<!-- WSDL for http://localhost/Servidor created by Pod::WSDL version: 0.061 on Wed Jun 8 12:10:48 2011 -->
<wsdl:definitions targetNamespace="http://localhost/Servidor" xmlns:impl="http://localhost/Servidor" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns1="http://localhost/Servidor">

<wsdl:message name="InfoOnlineResponse">
<wsdl:part name="InfoOnlineResult" type="tns1:Data">
<wsdl:documentation>Informacion Total</wsdl:documentation>
</wsdl:part>
</wsdl:message>

<wsdl:portType name="ServidorHandler">
</wsdl:portType>

<wsdl:binding name="ServidorSoapBinding" type="impl:ServidorHandler">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />

</wsdl:binding>

<wsdl:service name="ServidorHandlerService">
<wsdl:port binding="impl:ServidorSoapBinding" name="Servidor">
<wsdlsoap:address location="http://localhost/Servidor" />
</wsdl:port>
</wsdl:service>

</wsdl:definitions>
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor panterozo » 2011-06-09 10:09 @464

Pos claro, Scout ;)...

Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- WSDL for http ://localhost/ created by Pod::WSDL version: 0.061 on Mon Jun  6 05:40:57 2011 -->
  3. <wsdl:definitions targetNamespace="http://localhost/Servidor" xmlns:impl="http://localhost/Servidor" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/<span class="posthilit">soap</span>/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns1="http://localhost/Servidor">
  4.         <wsdl:types>
  5.                 <schema targetNamespace="http://localhost/Servidor" xmlns="http://www.w3.org/2001/XMLSchema">
  6.                     <import namespace="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" />
  7.                 <complexType name="Data">
  8.                         <sequence>
  9.                         <element name="dato1" type="tns1:ArrayOfString" minOccurs="1"/>
  10.                         <!-- opcional, pero esto no lo maneja bien eclipse -->
  11.                         <element name="dato2" type="tns1:ArrayOfString" minOccurs="0"/>
  12.                         <!-- opcional, pero esto no lo maneja bien eclipse -->
  13.                         <element name="dato3" type="tns1:ArrayOfString" minOccurs="0"/>
  14.                         <!-- opcional, pero esto no lo maneja bien eclipse -->
  15.                         <element name="dato4" type="tns1:ArrayOfString" minOccurs="0"/>
  16.                     </sequence>
  17.                     </complexType>
  18.                     <complexType name="ArrayOfString">
  19.                             <sequence>
  20.                                         <!-- son 4 elementos string -->
  21.                                     <element minOccurs="4" maxOccurs="4" name="string" nillable="true" type="xsd:string"/>
  22.                             </sequence>
  23.                     </complexType>
  24.             </schema>
  25.         </wsdl:types>
  26.         <!-- Funcion Input -->
  27.         <wsdl:message name="InfoOnlineRequest">
  28.                 <wsdl:part name="usuario" type="xsd:string">
  29.                         <wsdl:documentation>Usuario</wsdl:documentation>
  30.                 </wsdl:part>
  31.                 <wsdl:part name="password" type="xsd:string">
  32.                         <wsdl:documentation>Clave Acceso</wsdl:documentation>
  33.                 </wsdl:part>
  34.         </wsdl:message>
  35.         <!-- datos en el retorno -->
  36.         <wsdl:message name="InfoOnlineResponse">
  37.                 <wsdl:part name="InfoOnlineResult" type="tns1:Data">
  38.                         <wsdl:documentation>Informacion Total</wsdl:documentation>
  39.                 </wsdl:part>
  40.         </wsdl:message>
  41.         <wsdl:portType name="ServidorHandler">
  42.                 <wsdl:operation name="InfoOnline" parameterOrder="usuario password rut dv">
  43.                         <!-- las funciones que hay que definir para el web service. INPUT y OUTPUT -->
  44.                         <wsdl:input message="impl:InfoOnlineRequest" name="InfoOnlineRequest" />
  45.                         <wsdl:output message="impl:InfoOnlineResponse" name="InfoOnlineResponse" />
  46.                 </wsdl:operation>
  47.         </wsdl:portType>
  48.         <wsdl:binding name="ServidorSoapBinding" type="impl:ServidorHandler">
  49.                 <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/http" />
  50.                 <wsdl:operation name="InfoOnline">
  51.                         <wsdlsoap:operation soapAction="" />
  52.                         <wsdl:input name="InfoOnlineRequest">
  53.                                 <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" namespace="http://localhost/Servidor" use="encoded" />
  54.                         </wsdl:input>
  55.                         <wsdl:output name="InfoOnlineResponse">
  56.                                 <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/<span class="posthilit">soap</span>/encoding/" namespace="http://localhost/Servidor" use="encoded" />
  57.                         </wsdl:output>
  58.                 </wsdl:operation>
  59.         </wsdl:binding>
  60.         <wsdl:service name="ServidorHandlerService">
  61.                 <wsdl:port binding="impl:ServidorSoapBinding" name="Servidor">
  62.                         <!-- esta es la ruta directa al script del web service -->
  63.                         <wsdlsoap:address location="http://localhost/cgi-bin/cgiserver.cgi" />
  64.                 </wsdl:port>
  65.         </wsdl:service>
  66. </wsdl:definitions>
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Me gustaría poder probar un cliente web service en Netbeans... ¿tienes algún link donde se explique cómo hacer esto?

¡¡¡Vamos que se puede!!! xD
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Cliente Perl consumiendo servicio Java usando WSDL

Notapor scout » 2011-06-09 10:43 @488

Lo probaré, a ver si puedo repetir lo que lograste... Mientras mira lo que te contaba sobre montar un servicio en Java: instala el Netbeans 7 y el glassfish-3.1 que es el servidor, no te interferirá con el Apache, trabaja en el 8080 si mal no recuerdo y sigue estas instrucciones... Tiene un vídeo más completo pero comienza con algo simple...

En las indicaciones te mostrará cómo probarlo directamente... Con ello te sacas de la duda de su funcionamiento... Y puedes exportar el WSDL... Pero obviamente la idea no es usar Java... Si no Perl... Míralo y cuéntame.

http://www.ooscarr.com/nerd/elblog/2008 ... web-en.php

Con esto te olvidas del WSDL y demás configuraciones que te traen dolores de cabeza, pudiendo focalizar en la lógica del servicio a brindar... que es la idea principal...
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Siguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados