Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

Timbrado ATEB PHP

Todo lo que no cabe en los demas foros........
Cerrado
EdgarDC
Mensajes: 1
Registrado: Mié Oct 09, 2013 8:22 pm

Timbrado ATEB PHP

Mensaje por EdgarDC »

Hola! Quiero agradecerles por la información tan útil de este sitio, gracias a ella pude finalmente generar sellos en un software que desarrolle en PHP para un amigo, sin embargo, ahora me encuentro con un problema, ya que se debe migrar a timbrado electrónico, por lo que me dice mi amigo, contrato el servicio con ATEB y me paso unos documentos de pruebas, la situación aquí es que no he trabajado con WebServices antes y me he metido en un embrollo.
lo que tengo es lo siguiente:

Código: Seleccionar todo

<?php
$timbrador=new SoapClient("http://test.timbrado.com.mx/cfdi/wsTimbrado.asmx?wsdl");
$user="0000000001";
$pass = "pwd";
//xml contenido en los archivos de pruebas
$xml='<?xml version="1.0" encoding="UTF-8"?>....</cfdi:Comprobante>';//cadena del XML proporcionado para pruebas

//armado encabezado
$header = array('UserName' => $user,'Password' => $pass);
$Soapheader = new SOAPHeader('https://test.timbrado.com.mx/cfdi/', 'AuthenticationHeader', $header);
$timbrador->__setSoapHeaders($Soapheader); 
try
{  
$cfdi=$timbrador->GeneraTimbre(base64_encode($xml));
var_dump($cfdi);
}
catch (Exception $e)
{
	print_r($e);
}
?>
El resultado que me da:

Código: Seleccionar todo

object(stdClass)#4 (1) { ["GeneraTimbreResult"]=> string(169) "XML mal formado [EX: excepción en timbrado: El búfer no puede ser nulo. Nombre del parámetro: buffer]" };
preguntando en foros de PHP me solicitaron el request que se genera por PHP, es el siguiente:

Código: Seleccionar todo

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://test.timbrado.com.mx/cfdi/"><SOAP-ENV:Header><ns1:AuthenticationHeader><ns1:UserName>0000000001</ns1:UserName><ns1:Password>pwd</ns1:Password></ns1:AuthenticationHeader></SOAP-ENV:Header><SOAP-ENV:Body><ns1:GeneraTimbre/></SOAP-ENV:Body></SOAP-ENV:Envelope>
de ahi se puede ver que en ningun lado esta la cadena del XML, sin embargo (segun yo) la estoy mandando en la llamada:

Código: Seleccionar todo

$cfdi=$timbrador->GeneraTimbre(base64_encode($xml));
ya probé poniendolo como array asociado y nombrandolo XMLBytes (como el WSDL) pero nada.

Todo esto lo hice basado en un documento adjunto que me dieron con los documentos de prueba de una implementacion en VBNet, es el siguiente:
Dentro de Visual Studio en el proyecto, agregar referencia web
Agregar la URL del Web Service
Se muestra la pantalla del web service con un metodo Service1 (GeneraTimbre)
---------------------------------------------------------------------
Se Agrego la referencia al proyecto quedando como sigue :

Direccion URL de la referencia WEB: http://test.timbrado.com.mx/cfdi/wsTimb ... neraTimbre
nombre de la carpeta: mx.com.timbrado.cfdi
----------------------------------------------------------------------

Dentro del proyecto y especifamente dentro de la forma en la cual se desea hacer uso del timbre:

se Agrego estos imports :
Imports System.Text
Imports System.Web.Services.Protocols

Se agrego las siguientes variables
Dim Auth As New mx.com.timbrado.cfdi.AuthenticationHeader
Dim ws As New mx.com.timbrado.cfdi.Service1
Dim cfdi As String = ""

Dentro del boton de ejecutar va lo siguiente:

Auth.UserName = "0000000001" ' usuario asignado
Auth.Password = "pwd" ' contraseña asignada para el cliente.
ws.AuthenticationHeaderValue = Auth

Dim xml As String = 'String que contiene el XML
Dim xmlBytes As Byte() = Encoding.UTF8.GetBytes(Xml)
Try
cfdi = ws.GeneraTimbre(Convert.ToBase64String(xmlBytes))
Catch ex As Exception
MsgBox(ex.Message)
End Try
Y bueno ese es mi predicamento, espero me puedan ayudar porque ahora si de veras estoy perdido... y no quisiera tener que migrar el sistema a VBNet :x ... y la migracion a CFDI es obligatoria en Enero... :shock:
jasistemas
Mensajes: 158
Registrado: Mié Ene 11, 2012 2:08 pm
Contactar:

Re: Timbrado ATEB PHP

Mensaje por jasistemas »

No necesariamente debes migrar toda tu aplicación a VB.net, puedes únicamente desarrollar la parte del timbrado con .NET, compilarlo como DLL y luego usarlo desde PHP, Visual Fox, Delphi.
csar43
Mensajes: 1
Registrado: Vie Oct 18, 2013 8:36 am

Re: Timbrado ATEB PHP

Mensaje por csar43 »

Hola, lo que sucede es que llamas mal al servicio, intenta cambiarlo por algo como esto....

Código: Seleccionar todo

$result = $client->__soapCall('GeneraTimbre', array('parameters'=>array('xmlBytes'=>$base64)));
corsoduke
Mensajes: 14
Registrado: Vie Feb 04, 2011 1:56 pm
Ubicación: Mazatlán
Contactar:

Re: Timbrado ATEB PHP

Mensaje por corsoduke »

Yo pude hacer funcionar el timbrado de ATEB con php cualquier cosa no dudes en contactarme.
ggarcia
Mensajes: 1
Registrado: Lun Dic 02, 2013 4:50 pm

Re: Timbrado ATEB PHP

Mensaje por ggarcia »

Hola, estoy con el mismo problema que tenias, no puedo timbrar con PHP, me podrias proporcionar una cuenta de correo para contactarte, mi cuenta es ggarcia50@hotmail.com.

De antemano muchas gracias
isantosp
Mensajes: 8
Registrado: Mié Dic 18, 2013 5:30 pm

Re: Timbrado ATEB PHP

Mensaje por isantosp »

corsoduke escribió:Yo pude hacer funcionar el timbrado de ATEB con php cualquier cosa no dudes en contactarme.
Hola cursoduke, tendras algun ejemplo mas extenso de como mandar a timbrar desde PHP con este PAC?? te lo agradeceria mucho..

Saludos
jose_luis
Mensajes: 1
Registrado: Dom Dic 22, 2013 9:38 am

Re: Timbrado ATEB PHP

Mensaje por jose_luis »

corsoduke escribió:Yo pude hacer funcionar el timbrado de ATEB con php cualquier cosa no dudes en contactarme.
Hola Que tal Tendrás Alguna Información sobre el procedimiento del timbrado en ATEB por Php, o algún ejemplo, te agradeceremos tu ayuda
Cerrado