Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Vou descrever o projeto e depois meu problema...
a tarefa é criar um web service php (PHP5 rodando num servidor apache usando a classe NuSOAP), que na verdade ja esta pronto...
o web service fara a replicação de dados entre bases (MSSQL matriz e filial)
sera gerado um arquivo XML ou mais, so que esses arquivos gerados estao ficando em torno de 2 a 5 MB, o que pode deixar o processo lento
por serem arquivos de texto se ZIPados ficam bem leves, ai esta o problema pela aplicação DELPHI o arquivo chega tranqüilo...
//o registro do meu metodo
$server->register('getXML',
array('usuario' => 'xsd:string', 'senha' => 'xsd:string'),
array('return' => 'xsd:byte[]'), 'urn:webserver.dados', 'urn:webserver.dados#getXML', 'rpc', 'encoded',
'Pegar o XML com os dados de replicação para o cliente.' );
function getXML ($usuario, $senha){
$byteArr = array();
$byteArr = file("teste.zip");
return $byteArr;
}
dessa forma ele devia enviar o arquivo de volta, mas so envia 6 bytes...
mudei as funções e so envia 6 bytes
function getXML ($usuario, $senha){
$byteArr = array();
$handle = fopen("teste.zip", "rb");
while (!feof($handle)) {
$b = fread($handle, 1);
array_push($byteArr, $B);
}
fclose($handle);
return $byteArr;
}
tentei depois de transformar o arquivo em array de bytes
fazer o processo contrario e salvar na minha maquina
e fico certo idêntico ao que eu carrego para enviar
não sei se uma configuração de servidor, protocolo de comunicação...
quem esta fazendo comunicação com o web service é um aplicativo delphi...
Carregando comentários...