Estoy programando un cliente para un webservice muy simple. uso las librerías SOAP::Lite.
El webservice recibe la cadena que envío y me responde la cadena más un literal.
Si la cadena es NULL me responde: "error; cadena vacía".
El problema que tengo es que siempre que le mando un dato, me responde que la cadena esta vacía.
Les adjunto el código, el esquema del webservice, y la salida.
¿Me pueden decir qué estoy haciendo mal para que el webservice no tome la cadena?
Saludos,
Using perl Syntax Highlighting
- #!/usr/bin/perl -w
- #Librerías para usar
- use strict;
- use Data::Dumper;
- #Librerías para SOAP
- use SOAP::Lite;
- my $text="Answer:t5:1:t8:83529214031:t14:011593994999852:HangUp";
- my $realvalue = SOAP::Data
- ->name('cadena')
- ->type('string')
- ->value($text);
- my $soap = SOAP::Lite
- -> uri('http://webservice.satix.supertel.gob.ec/')
- -> proxy('http://192.168.0.213:7001/satix/ReceptorCadenaMarcadoService')
- -> recibirCadenaMarcado($realvalue)
- -> result;
- #dump de la variable para test
- my $dump= Data::Dumper->new([$realvalue],[qw(realvalue)]);
- print $dump->Dump;
- print $soap;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Esquema del WS.
Using xml Syntax Highlighting
- <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.6hudson-86 svn-revision#12773. -->
- <xsd:schema targetNamespace="http://webservice.satix.supertel.gob.ec/">
- <xsd:complexType name="recibirCadenaMarcado">
- <xsd:sequence>
- <xsd:element name="cadena" type="xsd:string" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="recibirCadenaMarcadoResponse">
- <xsd:sequence>
- <xsd:element name="return" type="xsd:string" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="recibirCadenaMarcado" type="ns0:recibirCadenaMarcado"/>
- <xsd:element name="recibirCadenaMarcadoResponse" type="ns0:recibirCadenaMarcadoResponse"/>
- </xsd:schema>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
La salida de mi programa, con el dump que hago a la variables es:
Using bash Syntax Highlighting
- [root@localhost ~]# ./TestSoap.pl
- $realvalue = bless( {
- '_name' => 'cadena',
- '_type' => 'string',
- '_signature' => [
- 'cadenastring'
- ],
- '_value' => [
- 'Answer:t5:1:t8:83529214031:t14:011593994999852:HangUp'
- ],
- '_attr' => {}
- }, 'SOAP::Data' );
- error; cadena vacía
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4