2010-02-17 18 views
5

Ich versuche, die soapenv zu ändern: Kopf in meine Seife Anfrage enthalten AdressierungWie kann ich den SOAP-Envelope und den Header mit Perls SOAP :: Lite bearbeiten?

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

Als ich die Anfrage senden:

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

ich folgendes erhalten ...

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

Ich muss versuchen, und überschreiben das Original <soap:Header> Ich muss das gleiche für die

tun

Wäre sehr dankbar, wenn jemand helfen könnte :-)

+0

Text einrücken, um ihn als Code zu markieren. http://stackoverflow.com/editing-help – daxim

+0

@Shayne: Ich habe Ihrem Beitrag Code-Markup hinzugefügt, aber Ihre Beispiel-SOAP ist wahrscheinlich jetzt falsch. Bitte bearbeiten Sie es, um der Realität zu entsprechen. – Ether

Antwort

0

Es gibt eine Klasse in SOAP :: Lite namens SOAP::Lite::Packager. Schau dir die Methode "Heads_http" an. Ich denke, das ist was du willst.

+1

Hallo, Danke für Ihre Zeit, die SOAP :: Lite :: Packager scheint für HTTP-Header nur die Einstellung der Inhalt MIME-Typen usw., dies ändert die SOAP-Header nicht HTTP-Header, die SOAP-Header sind nur einfach xml während die Übertragung. Aber danke für deine Zeit :-) – Shayne

1

Das erste Argument für "call" ist der Methodenname, nicht der Header.