#1: SOAP Problem
Posted on 2008-10-01 14:47:47 by extern.Lars.Oeschey
Hi,
I'm crossposting this from the SOAP::Lite list, since it is a bit dead,
and maybe someone here has a clue about my problem ;)
I'm talking to a SOAP server, and don't get the expected responses. Here
is what I do:
sent:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.
org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/enco ding/">
<SOAP-ENV:Body>
<namesp1:teInput xmlns:namesp1="http://soap.data.inform.com">
<c-gensym3 xsi:type="xsd:string">MAN9999999/1</c-gensym3>
<c-gensym5 xsi:type="xsd:string">LAD1020</c-gensym5>
<c-gensym7 xsi:type="xsd:string">1</c-gensym7>
</namesp1:teInput>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
received:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xs="http://www.
w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<soap:Fault>
<soap:faultcode>soap:Server</soap:faultcode>
<soap:faultstring>IdSoapRpcXml.TIdSoapReaderXML.GetParameter: Parameter
"in2" not found in list
"c-gensym3,c-gensym5,c-gensym7"</soap:faultstring>
<detail xsi:type="EIdSoapRequirementFail"></detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
first problem here is, that I get an error about the third parameter. I
had that before, when autotyping made a "int" of it, but I forced it
into "string", as the sent part proves. But that error could be on the
server side, which I didn't write...
But: Why don't I get the fault parameters? With this:
----------------------------------------------------
use SOAP::Lite +trace => [qw(all)];
use Data::Dumper;
my $soap= SOAP::Lite
->uri('http://soap.data.inform.com')
->proxy('http://audiinsa00220.in.audi.vwg:3003/soap/');
print Dumper $soap;
my $number = SOAP::Data->type(string=>"0");
my $som=$soap->teInput("MAN9999999/1", "LAD1020", $number);
if ($som->fault) {
print $som->faultdetail; # returns value of 'detail' element as
# string or object
print $som->faultcode; #
print $som->faultstring; # also available
print $som->faultactor; #
-----------------------------------------------------
I only get:
500 Internal Server Error at soaptest.pl line 8
what's also strange: with Data::Dumper in the current place above, I get
output from it. When I move it after the "my $som" statement, I get
nothing from $soap or $som, like the objects don't exist....
Anyone has an idea on this?
regards, Lars
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Report this message |