Hello,

Now I'm using the code below:


use strict;
use SOAP::Lite +trace => 'all';


my $soap = SOAP::Lite->new( proxy =>
'http://192.168.1.100/Service/IndicatorsService.asmx');
$soap->default_ns('http://tempuri.org/');
$soap->on_action(sub { join '', @_ });


my $method = SOAP::Data->name('DataUpLoad')
                      ->attr({xmlns => 'http://tempuri.org/'});

my @param = ( SOAP::Data->name('input')->value(
[
    SOAP::Data->name('User')->value('demo'),
    SOAP::Data->name('UserIP')->value('0.0.0.0'),
    SOAP::Data->name('NetType')->value(0),
    SOAP::Data->name('OS')->value('Linux'),
    SOAP::Data->name('Data')->value(
    [
        SOAP::Data->name('DataUpLoadInputData')->value(
        [
            SOAP::Data->name('INDICATORSNUMBER')->value('1010101010101210'),
            SOAP::Data->name('RECORDINGTIME')->value('2010-03-29 17:00:00'),
            SOAP::Data->name('FVALUE')->value(50),
            SOAP::Data->name('Valid')->value(''),
            SOAP::Data->name('Info')->value(''),

         ]),

    ]),
]));

my $run = $soap->call($method => @param);


But sorry it can't run correctly yet.
The error shows:

<?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:Client</faultcode><faultstring>System.Web.Services.Protocols.SoapException:
服务器无法读取请求。 ---&gt; System.InvalidOperationException: XML 文档(1,
381)中有错误。 ---&gt; System.InvalidOperationException: 未识别指定的类型:
name='Array',namespace='http://schemas.xmlsoap.org/soap/encoding/',位于
&lt;input xmlns='http://tempuri.org/'&gt;。
   在 
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read3_DataUpLoadInput(Boolean
isNullable, Boolean checkType)
   在 
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read7_DataUpLoad()
   在 
Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer.Deserialize(XmlSerializationReader
reader)
   在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader
xmlReader, String encodingStyle, XmlDeserializationEvents events)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader
xmlReader, String encodingStyle, XmlDeserializationEvents events)
   在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader
xmlReader, String encodingStyle)
   在 System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
   在 
System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</faultstring><detail
/></soap:Fault></soap:Body></soap:Envelope>


Any future helps? Thanks.

-- 
Jeff Peng
Email: jeffp...@netzero.net
Skype: compuperson

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to