Re: SOAP::Lite format
Chung <[email protected]> Wed, 26 Mar 2003 11:40:08 +0800
| Newsgroups | gmane.comp.windows.devel.soap.general |
|---|---|
| Message-ID | <00bf01c2f349$6611cd00$bc02a8c0@chung> |
SORRY , I got a mistake.
It is a soap service which removes the Microsoft "dataset" and serves the
response as an array,
schema included in the WSDL.
> Hello guys,
>
> I am trying to get access to .NET soap service from perl
> using SOAP::Lite
> and have hit a brickwall....
>
> This is a VALID xml request:
> ********************************************************
> POST /WebServices/Demo/demo.asmx HTTP/1.1
> Host: XXXXXXXXXXXX.com
> Content-Type: text/xml; charset=utf-8
> Content-Length: length
> SOAPAction: http://XXXXXXXXXXXX.com/WebServices/Demo/getPrice
>
> <?xml version="1.0" encoding="utf-8"?>
> <soap:Envelope
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <getPrice xmlns="http://XXXXXXXXXXXX.com/WebServices/Demo/">
> <a_Id>string</a_Id>
> </getPrice>
> </soap:Body>
> </soap:Envelope>
> ********************************************************
>
> This is a VALID xml reponse:
> ********************************************************
> HTTP/1.1 200 OK
> Content-Type: text/xml; charset=utf-8
> Content-Length: length
>
> <?xml version="1.0" encoding="utf-8"?>
> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <getPriceResponse xmlns="http://XXXXXXXXXX.com/WebServices/Demo/">
> <getPriceResult>
> <Id>string</Id>
> <Date>dateTime</Date>
> <MM>decimal</MM>
> <Price>decimal</Price>
> <session>decimal</session>
> </getPriceResult>
> </getPriceResponse>
> </soap:Body>
> </soap:Envelope>
> ********************************************************
>
>
> I have a problem:
>
> The output from SOAP::Lite is as follows:
> ********************************************************
> Content-Length: 610
> Content-Type: text/xml; charset=utf-8
> SOAPAction: http://XXXXXXXXXXXX.com/WebServices/Demo/getPrice
>
> <?xml version="1.0" encoding="UTF-8"?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/1999/XMLSchema">
> <SOAP-ENV:Body>
> <namesp1:getPrice
> xmlns:namesp1="http://XXXXXXXXXXXX.com/WebServices/Demo">
> <a_Id xsi:type="xsd:string">
> A0003
> </a_Id>
> </namesp1:getPrice>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> ********************************************************
>
> Which is close but not exactly the same as what is reqired.
> For example
> SOAP-ENV: instead of soap:; ??? </namesp1:getPrice> : instead
> of </getPrice>???
>
> Also server response an incorrect result to me.
>
> Response from Server side is as follows:
> ********************************************************
> SOAP::Transport::HTTP::Client::send_receive:
> HTTP::Response=HASH(0x8459fb4)
> SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK
> Cache-Control: private, max-age=0
> Date: Tue, 23 Mar 2003 07:58:18 GMT
> Server: Microsoft-IIS/5.0
> Content-Length: 448
> Content-Type: text/xml; charset=utf-8
> Client-Date: Tue, 23 Mar 2003 08:12:47 GMT
>
> <?xml version="1.0" encoding="utf-8"?>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <soap:Body>
> <getPriceResponse xmlns="http://XXXXXXXX.com/WebServices/Demo/">
> <getPriceResult>
> <Date>
> 0001-01-01T00:00:00.0000000+08:00
> </Date>
> </getPriceResult>
> </getPriceResponse>
> </soap:Body>
>
> SOAP::Deserializer::deserialize: ()
> SOAP::Parser::decode: ()
> SOAP::SOM::new: ()
> Use of uninitialized value in print at demo.pl line 49.
> 0001-01-01T00:00:00.0000000+08:00
> Use of uninitialized value in print at demo.pl line 51.
> Use of uninitialized value in print at demo.pl line 52.
> Use of uninitialized value in print at demo.pl line 53.
> ********************************************************
>
> Can anybody teach me wheres the error and how to solve the problem?
>
> Below is my perl code if this helps
>
> Thanks in advance
>
> Chung
>
> My perl program:
>
> ********************************************************
> use strict;
> use SOAP::Lite +trace => 'all';
>
> my $code = "A0003";
>
> my $hdr =
> SOAP::Header->uri('http://XXXXXXXXXXXX.com/WebServices/Demo')-
> >prefix('');
>
> my $s = SOAP::Lite
> -> uri('http://XXXXXXXXXXXX.com/WebServices/Demo')
> ->
> proxy('http://XXXXXXXXXXXX.com/WebServices/Demo/wsdemo.asmx')
> -> on_action(sub{sprintf '%s/%s', @_ });
>
> my $result = $s->getPrice(
> SOAP::Data->name(a_Id =>
> $code)->uri('http://XXXXXXXXXXXX.com/WebServices/Demo')->prefi
> x('')
> );
>
> print $result->{Id}, "\n";
> print $result->{Date}, "\n";
> print $result->{MM}, "\n";
> print $result->{Price}, "\n";
> print $result->{session}, "\n";
> ********************************************************
===================================
This list is hosted by DevelopMentor http://www.develop.com
You may be interested in Guerrilla Web Services .NET, 14 April 2003, in Torrance, CA
http://www.develop.com/courses/gwsdotnet
View archives and manage your subscription(s) at http://discuss.develop.com