80 |
GetRPCMethods |
GetRPCMethods |
81 |
/; |
/; |
82 |
|
|
83 |
|
sub consume_queue { |
84 |
|
my @results = ( SOAP::Header->name('ID' => $ID)->prefix('cwmp')->mustUnderstand(1) ); |
85 |
|
if ( ! @queue ) { |
86 |
|
push @results, SOAP::Header->name('NoMoreRequests' => 1)->prefix('cwmp'); |
87 |
|
} else { |
88 |
|
my $op = shift @queue; |
89 |
|
push @results, SOAP::Data->name( $op )->prefix('cwmp'); |
90 |
|
} |
91 |
|
warn "consume queue results = ", dump( @results ); |
92 |
|
return @results; |
93 |
|
} |
94 |
|
|
95 |
|
## SOAP ACS methods |
96 |
|
|
97 |
sub Inform { |
sub Inform { |
98 |
my ($self, $DeviceId, $Event, $MaxEnvelopes, $CurrentTime, $RetryCount, $ParameterList, $headers) = @_; |
my ($self, $DeviceId, $Event, $MaxEnvelopes, $CurrentTime, $RetryCount, $ParameterList, $headers) = @_; |
99 |
|
|
129 |
return; |
return; |
130 |
} |
} |
131 |
|
|
132 |
sub consume_queue { |
## special handling of empty POST request from CPE |
|
my @results = ( SOAP::Header->name('ID' => $ID)->prefix('cwmp')->mustUnderstand(1) ); |
|
|
if ( ! @queue ) { |
|
|
push @results, SOAP::Header->name('NoMoreRequests' => 1)->prefix('cwmp'); |
|
|
} else { |
|
|
my $op = shift @queue; |
|
|
push @results, SOAP::Data->name( $op )->prefix('cwmp'); |
|
|
} |
|
|
warn "consume queue results = ", dump( @results ); |
|
|
return @results; |
|
|
} |
|
133 |
|
|
134 |
sub empty_request { |
sub empty_request { |
135 |
my (undef, $self) = @_; |
my (undef, $self) = @_; |
136 |
|
|
|
if ( ! @queue ) { |
|
|
return ''; |
|
|
} |
|
|
|
|
137 |
$self->serializer->soapversion(SOAP::Lite->soapversion); |
$self->serializer->soapversion(SOAP::Lite->soapversion); |
138 |
$self->serializer->xmlschema($SOAP::Constants::DEFAULT_XML_SCHEMA); |
$self->serializer->xmlschema($SOAP::Constants::DEFAULT_XML_SCHEMA); |
139 |
|
|
164 |
return $result; |
return $result; |
165 |
} |
} |
166 |
|
|
|
sub envelope_only { |
|
|
warn "envelope_only = ", dump( @_ ); |
|
|
|
|
|
return; |
|
|
} |
|