Ruby client for a Java webservice


#1

Hi

I am accessing a webservice ( written in Java ) .
below is the code I have written, to access a login method that takes
a

String,String,ArrayofString as param.

require ‘soap/wsdlDriver’

wsdl = ‘http://abc.com:80/cwpidws/cwpidws?WSDL
driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
driver.wiredump_file_base = “soapresult”
param3 = Array.new(25,String)
driver.login( “abcd”, “efgh”, param3)

however the input message does not set the params the right way.

<?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:login xmlns:n1=“urn:com.sun.wpe.cwp.cwpidws/wsdl/cwpidws”
env:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>
<String_1 xsi:nil=“true”></String_1>
<String_2 xsi:nil=“true”></String_2>
<arrayOfString_3 xsi:type=“n2:Array”
n2:arrayType=“xsd:string[25]”
xmlns:n2=“http://schemas.xmlsoap.org/soap/encoding/”>

The two strings ( String_1 and String_2) are not part of the message .
how do i set the parameters to the function.