Calling .Net web service using a PERL client.

From: JTrigger (jtrigger_at_nospam.nospam)
Date: 08/19/04


Date: Thu, 19 Aug 2004 15:01:48 -0700

I need to call a .Net web service that takes an array or object as a
parameter from a PERL client. I have been trying to use the PERL SOAP::Lite
package to do this without success. I can call one that takes a simple
type, such as int or string, but not an array or object. Please help!!! My
code that I have written to call the web service and the SOAP packets that
get sent and received are below. It seems like no matter what I do I cannot
get it to recognize the array that I pass. Please CC my email address with
any responses. My address is as follows with the $# removed:
J$#im.Fo$#wl$#er@E$#D$#S$#.c$#o$#m
Thanks in advance for any assistance.

use SOAP::Lite;

my @web;
@web[0] = '234234';
@web[1] = 'Test1';
@web[2] = '3454545';
@web[3] = 'Test2';

my $s = SOAP::Lite
            -> uri('EDS.Galileo/')
            -> proxy('http://testedsapps.weyer.com/Galileo/Galileo.asmx')
            -> on_action(sub{sprintf '%s%s', @_ })
            -> on_debug(sub{print@_}) ;
            ;
$result =
$s->UpdateIncident(SOAP::Data->name('TicketValues')->value(SOAP::Data->value
(\@web)));

unless ($result->fault) {
    if (length ($result->result()) == 0)
    {
    print "result = ".$result->result()."\n";
    }

} else {

print "error ".$result->faultstring."\n";

unless ($result->fault) {
    if (length ($result->result()) == 0)
    {
    print "result = ".$result->result()."\n";
    }

} else {

print "error ".$result->faultstring."\n";
}

<?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/encoding/">
<SOAP-ENV:Body>
    <namesp1:UpdateIncident xmlns:namesp1="EDS.Galileo/">
        <TicketValues xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="xsd:string[4]">
            <item xsi:type="xsd:string">"600100024"</item>
            <item xsi:type="xsd:string">"GFS000999"</item>
            <item xsi:type="xsd:string">"536871002"</item>
            <item xsi:type="xsd:string">"1092585900"</item>
        </TicketValues>
    </namesp1:UpdateIncident>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
HTTP/1.1 500 (Internal Server Error) Internal Server Error.
Cache-Control: private
Connection: close
Date: Thu, 19 Aug 2004 14:07:57 GMT
Server: Microsoft-IIS/5.0
Content-Length: 732
Content-Type: text/xml; charset=utf-8
Client-Date: Thu, 19 Aug 2004 14:08:41 GMT
Client-Peer: 10.31.240.10:80
Client-Response-Num: 1
MicrosoftOfficeWebServer: 5.0_Pub
X-AspNet-Version: 1.1.4322
X-Powered-By: ASP.NET

<?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>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>System.Web.Services.Protocols.SoapException: Server was
unable to process request. ---&gt; System.NullReferenceException: Object
reference not set to an instance of an object.
   at EDS.Galileo.Galileo.UpdateIncident(String[] TicketValues) in
c:\inetpub\wwwroot\galileo\galileo.asmx.cs:line 484
   --- End of inner exception stack trace ---</faultstring>
      <detail />
    </soap:Fault>
  </soap:Body>
</soap:Envelope>



Relevant Pages

  • Re: Calling .Net web service using a PERL client.
    ... includes a perl client that retrieves an array from a C# ASMX service. ... > I need to call a .Net web service that takes an array or object as a ... > code that I have written to call the web service and the SOAP packets that ...
    (microsoft.public.dotnet.framework.aspnet.webservices)
  • Re: Calling .Net web service using a PERL client.
    ... includes a perl client that retrieves an array from a C# ASMX service. ... > I need to call a .Net web service that takes an array or object as a ... > code that I have written to call the web service and the SOAP packets that ...
    (microsoft.public.dotnet.framework.webservices)
  • Calling .Net web service using a PERL client.
    ... I need to call a .Net web service that takes an array or object as a ... parameter from a PERL client. ... type, such as int or string, but not an array or object. ... HTTP/1.1 500 (Internal Server Error) Internal Server Error. ...
    (microsoft.public.dotnet.framework.webservices)
  • RE: Ajax AutoCompleteExtender is Auto-Calculating
    ... You must add apostrophe symbol before and after string inserted in web ... service array. ... AutoCompleteExtender is not the data that resides in the database, ... data being returned by the web service the AutoCompleteExtender consumes. ...
    (microsoft.public.dotnet.framework.aspnet.webcontrols)
  • RE: Interesting Problem With WebService results and Repeater Control
    ... The array of items is probably setting up the item class to have fields ... exposed directly instead of properties (which the form binding requires). ... you need to make the proxy use a class that exposes the data ... I have written a web service to provide some back-end functionality to a Web ...
    (microsoft.public.dotnet.framework.webservices)

Loading