Need help with converting a String Property to Integer while Sending a soap request
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Need help with converting a String Property to Integer while Sending a soap request
Hi,
I am new to Soap UI and am trying the following scenario -
Scenario: Read an excel file for the data to be used in the Soap requests and also which Test steps are to be executed and then execute the same.
WSDL used:http://www.dneonline.com/calculator.asmx?WSDL
Issue: setPropertyValue() takes in only String parameters from what I understand so it looks like the integer data from the excel is stored in string format in the properties created. The Soap requests in questions need integer data but when I import the data into the requests using property expansion,the data loaded is in string format which leads to the following fault string being returned. How do I get past this issue?
<faultstring>System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (5, 31). ---> System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at System.Xml.XmlConvert.ToInt32(String s) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1_Add() at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer.Deserialize(XmlSerializationReader reader) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) --- End of inner exception stack trace --- at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle) at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</faultstring>
Excel data:
Groovy code:
Add Request:
I tried a few things like (${#testSuite#testData1}).toInteger() and ${=(int)#testSuite#testData1} but they didn't work.
Thanks for any help on this.
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for understanding.
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here's the Groovy code:
import java.io.* import jxl.*
def f=new File("C:\\Users\\Ahaan\\Desktop\\SOAPXLS\\Calculator.xls") def wb=Workbook.getWorkbook(f) def ws=wb.getSheet("DataSheet") def rowcount=ws.getRows() log.info rowcount for(def count=1;count<rowcount;count++) { Cell execute=ws.getCell(2,count) if(execute.getContents().equalsIgnoreCase("Y")) { Cell data1=ws.getCell(3,count) testRunner.testCase.testSuite.setPropertyValue("testData1",data1.getContents()) Cell data2=ws.getCell(4,count) testRunner.testCase.testSuite.setPropertyValue("testData2",data2.getContents()) Cell TestStep=ws.getCell(1,count) testRunner.runTestStepByName(TestStep.getContents()) } }
Thanks.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My mistake. It's #TestSuite# , I was trying with #testSuite#. Works properly now.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regards,
Rao.
