File: Header.tt

package info (click to toggle)
libsoap-wsdl-perl 3.004-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,600 kB
  • sloc: perl: 8,433; xml: 1,769; java: 19; makefile: 15
file content (45 lines) | stat: -rw-r--r-- 1,790 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[%
    RETURN IF NOT item;
    message_name = item.get_message;
    IF NOT message_name;
        THROW BAD_WSDL "missing <message> attribute in header for operation ${operation.get_name}";
    END;
    message = definitions.find_message( item.expand( message_name ) );
    PERL %]
    my $message = $stash->{ message };
    my $item = $stash->{ item };
    my $def = $stash->{ definitions };
    my $type_prefix = $stash->{ type_prefix };
    my $element_prefix = $stash->{ element_prefix };
    #my ($ns, $lname) = $def->expand( $item->get_part() );
    my $part_name = $item->get_part();
    my ($part) = grep {
        $_->get_name eq $part_name
        } @{ $message->get_part( ) };
    my $part_class = do {
        my $name;
        ($name = $part->get_element)
            ? do {
                    my $element = $def->first_types->find_element($part->expand($name));
                    my $resolver = $context->plugin('XSD');
                    $resolver->create_xsd_name($element);
                }
            : ($name = $part->get_type)
                ? do {
                        my $element = $def->first_types->find_type($part->expand($name));
                        my $resolver = $context->plugin('XSD');
                        $resolver->create_xsd_name($element);
                }
                : die "input must have either type or element"
            };
    $stash->{ part_class } = $part_class;
    [% END;
%]
[% IF item.get_use != 'literal';
    THROW NOT_SUPPORTED "Header: SOAP::WSDL supports literal encoding only - ${ item.get_use } found";
END %]

           'use' => '[% item.get_use %]',
            namespace => '[% item.get_namespace %]',
            encodingStyle => '[% item.get_encodingStyle %]',
            parts => [qw( [% part_class %] )],