On Sunday 11 December 2005 03:32 am, Kishore wrote:

When using SOAP4R with .NET web services, you must use the ASPDotNetHander.

@my_client.default_encodingstyle = 
SOAP::EncodingStyle::ASPDotNetHandler::Namespace

Tsume

> Hi Kero:
>
> Thanks a lot. That worked out. Would you know how to pass an array of
> strings as argument? I am trying to the following:
>
> Request = Struct.new(:request_id, :names, :values)
> result = soap_client.stopGenerate(Request.new("1", ["POWER", "FREQ"],
> ["-15", "5.18GHz"]))
> puts result.inspect
>
> This should generate the following SOAP request:
>
> <?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>
>     <Generate xmlns="http://instrument1/OrbitWS/">
>       <request_id>string</request_id>
>       <names>
>         <string>string</string>
>         <string>string</string>
>       </names>
>       <values>
>         <string>string</string>
>         <string>string</string>
>       </values>
>     </Generate>
>   </soap:Body>
> </soap:Envelope>
>
> However, it creates the following:
>
> <?xml version="1.0" encoding="utf-8" ?>
> <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>   <env:Body>
>     <n1:Generate xmlns:n1="http://instrument1.orbit-lab.org/OrbitWS/">
>       <n1:request_id>1</n1:request_id>
>       <n1:names>
>         <n1:string></n1:string>
>       </n1:names>
>       <n1:values>
>         <n1:string></n1:string>
>       </n1:values>
>     </n1:Generate>
>   </env:Body>
> </env:Envelope>
>
> Thanks,
> Kishore