Binding name: $name
Style $style_of{ ident $self }
Transport $transport_of{ ident $self }
Operations
EOT
foreach my $operation (@{ $self->get_operation() })
{
my $operation_name = $operation->get_name();
my $operation_style = $operation->get_style() || q{};
my $port_operation = $portType->find_operation( $ns_map{ $prefix },
$operation->get_name() )
or die "operation not found:" . $operation->get_name();
# TODO rename lexical $input to "message"
my $input_message = do {
my $input = $port_operation->first_input();
$input ? $input->explain($opt) : q{};
};
my $output_message = do {
my $input = $port_operation->first_output();
$input ? $input->explain($opt) : q{};
};
my $fault_message = do {
my $input = $port_operation->first_fault();
$input ? $input->explain($opt) : q{};
};
$txt .= <<"EOT";
$operation_name
Style: $operation_style
Input Message:
$input_message
Output Message:
$output_message
Fault:
$fault_message
EOT }
return $txt;
}
sub to_typemap { my ($self, $opt) = @_; my $name = $self->get_name(); my %ns_map = reverse %{ $opt->{ wsdl }->get_xmlns() }; my ($prefix, $localname) = split /:/ , $self->get_type(); my $portType = $opt->{ wsdl }->find_portType( $ns_map{ $prefix }, $localname ) or die "portType $prefix:$localname not found !"; my $txt = q{}; foreach my $operation (@{ $self->get_operation() }) { my $operation_name = $operation->get_name(); my $operation_style = $operation->get_style() || q{};
my $port_operation = $portType->find_operation( $ns_map{ $prefix },
$operation->get_name() )
or die "operation not found:" . $operation->get_name();
# TODO rename lexical $input to "message"
$txt .= do {
my $input = $port_operation->first_input();
$input ? $input->to_typemap($opt) : q{};
};
$txt .= do {
my $input = $port_operation->first_output();
$input ? $input->to_typemap($opt) : q{};
};
$txt .= do {
my $input = $port_operation->first_fault();
$input ? $input->to_typemap($opt) : q{};
};
}
return $txt;
}
1;