Pregunta:
Fecha: 02-08-2018 04:31:44
(En Español)
La estructura (parcial) del wsdl es la siguiente
El array asociativo que envío:
Intenté hacerlo con clases y obtengo el mismo error. El problema está desde el objeto Obligations.
Intenté anidando así:
Agradecería cualquier sugerencia. Saludos Votos: 0 - Respuestas: 2 - Vistas: 9 Compartir en: Google Facebook Twitter LinkedIn Link
¿Por que obtengo SOAP-ERROR: Encoding: object has not 'tax', en wdsl con complextype anidados?[No resuelta]
Tengo que consumir un web services SOAP con PHP y obtengo el error del título.La estructura (parcial) del wsdl es la siguiente
<xs:element name="Obligations" type="tns:ObligationsType"/> <xs:complexType name="ObligationsType"> <xs:sequence> <xs:element maxOccurs="99" name="Taxes" type="tns:TaxesType"/> </xs:sequence> </xs:complexType> <xs:complexType name="TaxesType"> <xs:sequence> <xs:element name="tax"> <xs:simpleType> <xs:restriction base="xs:int"> <xs:maxInclusive value="9999"/> <xs:minInclusive value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="amount"> <xs:simpleType> <xs:restriction base="xs:double"> <xs:minInclusive value="0.01"/> <xs:maxInclusive value="9999999999.99"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType>
El array asociativo que envío:
$params = array( 'token' => $TOKEN, 'sign' => $SIGN, 'paymentEntity' => 1001, 'form' => array( 'formNumber' => 6042, 'idPaymentType' => 951, 'Obligations' => array ( array( 'Taxes' => array( 'tax' => 6041, 'amount' => 602.0 ) ) ) ) );
Intenté hacerlo con clases y obtengo el mismo error. El problema está desde el objeto Obligations.
Intenté anidando así:
'Obligations' =>array ('Taxes' =>array('tax'=> 1,'amount'=> 1.0)) obtengo Unrecognized field Obligations 'Obligations' =>array ('tax'=> 1,'amount'=> 1.0) obtengo object has no 'Taxes' property 'Obligations' =>array (array('Taxes' =>array('tax'=> 1,'amount'=> 1.0))) obtengo object has no 'tax' property 'Obligations' =>array ('Taxes' =>array('tax'=> 1)) obtengo object has no 'amount' property 'Obligations' =>array ('Taxes' =>array('amount'=> 1)) obtengo object has no 'tax' property
Agradecería cualquier sugerencia. Saludos Votos: 0 - Respuestas: 2 - Vistas: 9 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 03-08-2018 09:03:06 Hola que tal, y si pruebas con esta secuencia:
$params = [ 'token' => 'eltoken', 'sign' => 'sign', 'paymentEntity' => 1001, 'form' => [ 'formNumber' => 123456, 'idPaymentType' => 654, 'Obligations' => [ [ 'Taxes' => [ 'TaxesType' => [ 'tax' => 6041, 'amount' => 602.0 ] ] ] ] ] ];
Eso debido a que luego de Taxes viene TaxesType y de allí tax y amount Votos: 0 - Link respuesta -
Fecha: 06-08-2018 02:27:41 Gracias, probé de esta manera pero sigo sin resolverlo Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión