[Rio-pm] SOAP::Lite

Andre Luis alpbs2003 em gmail.com
Terça Abril 27 07:56:23 PDT 2010


Salve todos,

Depois de algumas noites sonhando com o SOAP::Lite eu descobri como setar o
header na resposta.

Como sempre (ou quase sempre) era obvio :( .

Segue a solução :

 my $fault = SOAP::Fault->new(
                            header => SOAP::Header->name( teste =>
SOAP::Header->value('teste') )
                           );
        die $fault->header;

+++ Resoltado +++
<?xml version="1.0" encoding="UTF-8"?><SOAP:Envelope xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" SOAP:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP="
http://schemas.xmlsoap.org/soap/envelope/"><SOAP:Header><teste
xsi:type="xsd:string">teste</teste></SOAP:Header><SOAP:Body><SOAP:Fault><faultcode>SOAP:Server</faultcode><faultstring>Application
error</faultstring></SOAP:Fault></SOAP:Body></SOAP:Envelope>

Fica na tread pra questão de registro.


Mais uma vez obrigado a todos.

Abs
André

Em 20 de abril de 2010 17:00, Andre Luis <alpbs2003 em gmail.com> escreveu:

> Salve monges,
>
> Estou com uma duvida com relação aos SOAP::Fault;
>
>
> É possivel adcionar um header ao retorno do SOAP::Fault ?
>
> digo
>
>
> quando eu faco
>
> die SOAP::Fault->faultcode('soap:Server') # will be qualified
>                                        ->faultstring('Erro generico')
>                                        ->faultactor('Teste')
>                                        ->faultdetail(bless {ID => 2,
> 'Description' => 'Erro Generico'} => 'Error')
>
> isso retorna o XML
> <soap:Body>
>         <soap:Fault>
>             <faultcode>soap:Server</faultcode>
>             <faultstring>Erro Generico</faultstring>
>             <faultactor>Teste</faultactor>
>             <detail>
>                 <Error>
>                     <ID>2</ID>
>                     <Description>Erro Generico</Description>
>                 </Error>
>             </detail>
>         </soap:Fault>
>     </soap:Body>
> </soap:Envelope>
>
> Eu precisava add o soap:Header.
> exemplo:
> <soap:Header>
>         <Transaction xmlns="http://tempuri.org/">
>             <TransactionId>5553</TransactionId>
>         </Transaction>
>     </soap:Header><soap:Body>
>         <soap:Fault>
>             <faultcode>soap:Server</faultcode>
>             <faultstring>Erro Generico</faultstring>
>             <faultactor>Teste</faultactor>
>             <detail>
>                 <Error>
>                     <ID>2</ID>
>                     <Description>Erro Generico</Description>
>                 </Error>
>             </detail>
>         </soap:Fault>
>     </soap:Body>
> </soap:Envelope>
>
> É possivel fazer isso ?
>
>
> Abraço
> André
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20100427/5c6788ca/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm