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);
}
?>
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]" };
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>
Código: Seleccionar todo
$cfdi=$timbrador->GeneraTimbre(base64_encode($xml));
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:
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 VBNetDentro 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

