in reply to Re^4: SOAP lite with WCF
in thread SOAP lite with WCF

I get the the following so I'm almost there but how do I stop 'Request' being appended to the SOAP Action?

Um, modify on_action so it doesn't append "Request"

Replies are listed 'Best First'.
Re^6: SOAP lite with WCF
by Anonymous Monk on Jul 08, 2013 at 01:15 UTC
    How? Here I specify the SOAP Action name ProcessMessage - no mention of 'Request' here.
    my $soap = SOAP::Lite -> ns( 'http://www.w3.org/2001/XMLSchema-instance', 'xsi' ) -> ns( 'urn::sdp:profilemanager:requestmanager', 'a' ) -> ns( 'urn::sdp:profilemanager:contract:110308', 'b' ) -> uri($uri) -> on_action( sub { join '.ProcessMessage', 'urn::sdp:profilemanag +er:requestmanager:100818.ProfileScopeServiceContract', $_[1] } ) -> proxy($url); And here I assume I'm specifying the name of the first element with th +e Soap Body - Request. <code> my $method = SOAP::Data->name('Request') ->attr({xmlns => 'urn::sdp:profilemanager:profilemanagerrequestman +ager:100818'});
    But this seems to also append the word 'Request' to my soap action?

      How? Here I specify the SOAP Action name ProcessMessage - no mention of 'Request' here.

      So what, you're using two variables  $_[0] and $_[1] , maybe one of them has "Request"

      If you don't know whats going on, Basic debugging checklist says Dumper() Dumper() Dumper()

      But this seems to also append the word 'Request' to my soap action?

      What happens when you comment that line out?

        I've been using Perl for all of 2 days. Maybe you could explain the function and what its doing as its not very intuitive?
        -> on_action( sub { join '.ProcessMessage', 'urn::sdp:profilemanag +er:requestmanager:100818.ProfileScopeServiceContract', $_[1] } )
        Where am using the variable $_[0] you mention?
Re^6: SOAP lite with WCF
by Anonymous Monk on Jul 08, 2013 at 04:42 UTC
    Here is a tip
    -> on_action( \&return_action_header ) .... ;;;; sub return_action_header { my( $action, $method_uri, $method_name ) = @_; return ... }