06/03/2004, 16:40
|
| | Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 8 meses Puntos: 0 | |
modificar soap para pasar array a funcion desde perl a webservice en php Hola estoy haciendo unas pruebas para mi tesis.
El problema es el siguente:
Tengo un Web Service hecho en PHP y quiero acceder a el desde PERL.
Con tipos de datos sencillos como enteros y cadenas no tengo problemas , pero cuando quiero pasar un array desde perl a una funcion del Web Service no hallo como.
Estoy usando Nusoap en php y SOAP::Lite en Perl.
La pega es que no hayo como hacerle para que se modifique el mensaje soap que genera el Perl.
digamos tengo un cliente hecho en php y me genera la siguiente parte:
<SOAP-ENV:Body>
- <tns:sumarArrayEntero>
- <vector xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:int[3]">
<item xsi:type="xsd:int">9</item>
<item xsi:type="xsd:int">9</item>
<item xsi:type="xsd:int">9</item>
</vector>
</tns:sumarArrayEntero>
</SOAP-ENV:Body>
pero en Perl me genera:
<SOAP-ENV:Body>
<sumarArrayEntero xmlns="">
<vector xsi:type="SOAP-ENC:int">9</vector>
<vector xsi:type="SOAP-ENC:int">9</vector>
<vector xsi:type="SOAP-ENC:int">9</vector>
</sumarArrayEntero>
</SOAP-ENV:Body>
como ven se supone que le estoy mandando un array de tres elementos de tipo int pero en lugar de eso perl interpreta que estoy mandando 3 parametros de tipo int.
La invocacion que hago con perl es:
$invoca = $soap->sumarArrayEntero(SOAP::Data->name(vector=> (9,9))->type('SOAP-ENC:int'));
¿alguien sabe como puedo codificar/modificar el soap para que se haga como quiero? |