the result of $Response-> is also empty.
i had a look into the Apache::ASP source code and found this :
(line 843)
$self->{content} = $r->content();
tie(*STDIN, 'Apache::ASP::Request', $self)
if defined($self->{content});
this means that it's comming from $r->content() which i think is a
apache object.
(what the tie does , i don't know )
so looking further in the apache module i found that
sub content {
my($r) = @_;
my $ct = $r->header_in("Content-type") || "";
return unless $ct eq "application/x-www-form-urlencoded";
my $buff;
$r->read($buff, $r->header_in("Content-length"));
parse_args(wantarray, $buff);
}
it seems that the "Content-type" must be
"application/x-www-form-urlencoded" before we can get anything out of
the content() routine from mod_perl :-(
So i tried this
#Get posted XML query
$len = $Request->{TotalBytes};
$Request->{asp}->{r}->read($i,$len);
this will work always without taking into acount the content-type ,
which is text/xml
I don't know if there is any problem with doing it this way ?
If anybody has a clue on this , let me know .
greetings,
luc
Brendan McKenna wrote:
>
> Hi,
>
> The 156 bytes are your data. Since you're using Perl, you should be
> able to access your data using $Response->content;
>
> Brendan
> :
> : hello ,
> :
> :
> : i'm working on a project that involves some XML-RPC system. The idea is
> : to POST a XML to a ASP script which will than process this
> : and return a XML back to the client.
> :
> : To do that a send sommething like this (output from ethereal dump) :
> :
> : POST /cp-bin/rc2.asp HTTP/1.0
> : Host: linux
> : User-Agent: libwww-perl/5.36
> : Content-Length: 156
> : Content-Type: text/xml
> :
> : <?xml version="1.0"?>
> : <methodCall>
> : <methodName>examples.getStateName</methodName>
> : <params>
> : <param><value><i4>1</i4></value></param>
> : </params>
> : </methodCall>
> :
> : The problem now is , that in the asp script i get a Totalbytes of 156
> : bytes but the content string is empty ?
> :
> : #Get posted XML query
> : my $len = $Request->{TotalBytes};
> : my $i = $Request->BinaryRead($len);
> :
> : #log input query
> : $Response->Debug("recieved $len bytes");
> : $Response->Debug("data [$i]");
> :
> : Does anybody has a clue where the 156 bytes are ???
> :
> : thanks
> : luc willems
> :
> : ---------------------------------------------------------------------
> : To unsubscribe, e-mail: [EMAIL PROTECTED]
> : For additional commands, e-mail: [EMAIL PROTECTED]
> :
>
> --
> Brendan McKenna
> Technical Director Phone: +353-(0)61-338177 x4143
> W3 Services Ltd. Fax: +353-(0)61-338065
> Innovation Centre Email: [EMAIL PROTECTED]
> National Technological Park
> Limerick
> Ireland
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]