2010-02-17 12 views
5

Próbuję zmodyfikować soapenv: Nagłówek obejmować zajęcie się moją prośbę mydłaJak mogę edytować kopertę SOAP i nagłówek za pomocą SOAP :: Lite Perla?

my $header=SOAP::Header->name("Header")->prefix("soap")->uri("http://www.w3.org/2005/08/addressing"); 

Kiedy wysłać żądanie:

print $soap->call($header, $security->value(\$userToken, $action, $message))->result; 

otrzymuję następujące ...

<"soap:Header soap:Header xmlns:soap="http://www.w3.org/2005/08/addressing" /> 

Muszę spróbować zastąpić oryginalny <soap:Header> Potrzebuję zrobić to samo dla <soap:Envelope>

Byłoby bardzo docenione, gdyby ktoś mógł pomóc :-)

+0

Wcięcie tekstu, aby zaznaczyć go jako kod. http://stackoverflow.com/editing-help – daxim

+0

@Shayne: Dodałem kod znaczników do twojego posta, ale twoje przykładowe SOAP jest prawdopodobnie błędne. Edytuj go, aby dopasować do rzeczywistości. – Ether

Odpowiedz

0

Istnieje klasa w SOAP :: Lite o nazwie SOAP::Lite::Packager. Spójrz na metodę "Heades_http". Myślę, że tego właśnie chcesz.

+1

Witam, Dzięki za poświęcony czas, SOAP :: Lite :: Packager wygląda na to, że nagłówki HTTP ustawiają tylko typy MIME zawartości, to jest modyfikowanie nagłówków nagłówka SOAP, a nie nagłówków HTTP, nagłówki SOAP są po prostu zwykłe xml podczas przeniesienie. Ale dziękuję za poświęcony czas :-) – Shayne

1

Pierwszym argumentem dla "połączenia" jest nazwa metody, a nie nagłówek.