2010-02-17 27 views
5

Je suis en train de modifier le soapenv: En-tête pour inclure l'adressage dans ma demande de savonComment puis-je modifier l'en-tête et l'en-tête SOAP avec SOAP :: Lite de Perl?

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

Lorsque j'envoie la demande:

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

Je reçois ce qui suit ...

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

Je dois essayer et remplacer l'original <soap:Header> Je dois faire la même chose pour le <soap:Envelope>

Serait très apprécié si quelqu'un pouvait aider :-)

+0

Mettre en retrait le texte pour le marquer comme du code. http://stackoverflow.com/editing-help – daxim

+0

@Shayne: J'ai ajouté du code à votre message, mais votre exemple de SOAP est probablement faux maintenant. Veuillez l'éditer pour correspondre à la réalité. – Ether

Répondre

0

Il existe une classe dans SOAP :: Lite appelée SOAP::Lite::Packager. Regardez la méthode "Heades_http". Je pense que c'est ce que tu veux.

+1

Salut, Merci pour votre temps, le SOAP :: Lite :: Packager semble être pour les en-têtes HTTP uniquement en définissant les types MIME de contenu etc, cela modifie les en-têtes SOAP de l'en-tête SOAP, les en-têtes SOAP le transfert. Mais merci pour votre temps :-) – Shayne

1

Le premier argument à "appeler" est le nom de la méthode, pas l'en-tête.