It is possible to test web services using the standard Web (HTTP/HTML) virtual user type instead of the Web Services vuser type. The main disadvantage of this is that you cannot generate your SOAP body from the WSDL file using the VuGen wizard. But if you know what your XML request should look like, then you shouldn't have any real problems.
Here are my tips:
- Send your SOAP payload using lr_custom_request().
- Add a SOAPAction HTTP header using web_add_header().
- Remove unnecessary HTTP headers (that are generated automatically by VuGen) with web_remove_auto_header().
- Don't forget to verify that you get a valid response. Use web_reg_find() for a simple check. For better verification of the SOAP response use lr_xml_find().
- To extract values from the response body, use lr_xml_get_values(). Brush up on your XPath qeries beforehand though.
- It may be necessary to HTML-encode some characters in your XML/SOAP message (e.g. convert "&" to "&"). Unfortunately VuGen does not provide this functionality (but HP could easily add it to the web_convert_param function), so you will have to either write (or find) a function to do it, or convert all the entries in your data table before running the script.
As an example, here is a simple script that makes use of a web service that will look up the source of a Shakespeare quote for you.
Action()
{
// ContentCheck Rules for known error messages
web_global_verification("Text=Speech not found", "ID=SpeechNotFound", LAST);
lr_start_transaction ("Search For Shakespeare Quote");
// By default, VuGen sends a user-agent header.
// Let's remove this as an example of removing automatically generated headers.
web_remove_auto_header("User-Agent", "ImplicitGen=No", LAST);
// Add a SOAPAction HTTP header
web_add_header("SOAPAction", "http://xmlme.com/WebServices/GetSpeech");
// Save entire body from the HTTP response for later checking with lr_xml_find.
web_reg_save_param("ResponseBody",
"LB=",
"RB=",
"Search=Body",
"IgnoreRedirections=Yes",
LAST);
// Note that the text to search for would normally be replaced with a parameter,
// and so would the element of the below SOAP message.
web_reg_find("Text=TWELFTH NIGHT", LAST);
web_custom_request("Search Shakespeare",
"URL=http://www.xmlme.com/WSShakespeare.asmx",
"Method=POST",
"Resource=0",
"Referer=",
"Snapshot=t1.inf",
"Mode=URL",
"EncType=text/xml; charset=utf-8",
"Body=" // As it is SOAP, you are unlikely to have to use BodyBinary, unless your request has CDATA.
""
""
""
""
"Be not afraid of greatness"
""
""
"",
LAST);
// The response from the web service looks like this:
/*
<SPEECH>
<PLAY>TWELFTH NIGHT</PLAY>
<SPEAKER>MALVOLIO</SPEAKER>
'Be not afraid of greatness:' 'twas well writ.</SPEECH>
*/
// An example of extracting the a value from a SOAP reponse.
// This saves the element into {OutputParameter}.
// The same syntax could be used with lr_xml_find to check the response.
lr_xml_extract("XML={ResponseBody}",
"XMLFragmentParam=OutputParameter",
"Query=/soap:Envelope/soap:Body/GetSpeechResponse/GetSpeechResult", LAST);
lr_output_message("Source of Shakespeare quote: %s", lr_eval_string("{OutputParameter}"));
lr_end_transaction ("Search For Shakespeare Quote", LR_AUTO);
return 0;
}
Tech tips from JDS

The benefits of performance testing with LoadRunner
Often in IT projects, the last item to be considered is a performance test. This is a mistake! Poor performance ...
Read More
Read More

Monitoring Atlassian Suite with AppDynamics
Millions of IT professionals use JIRA, Confluence, and Bitbucket daily as the backbone of their software lifecycle. These tools are ...
Read More
Read More

5 quick tips for customising your SAP data in Splunk
Understanding how your SAP system is performing can be a time-consuming process. With multiple environments, servers, APIs, interfaces and applications, ...
Read More
Read More

How to maintain versatility throughout your SAP lifecycle
There are many use cases for deploying a tool to monitor your SAP system. Releasing your application between test environments, ...
Read More
Read More

How to revitalise your performance testing in SAP
When you go live with a new system, feature, or application, you want to be confident in how your system ...
Read More
Read More

Reserve and import data through Micro Focus ALM
Micro Focus Application Lifecycle Management’s (ALM) workflow is one of its most powerful features, allowing you to extend ALM’s capabilities ...
Read More
Read More

How to effectively manage your CMDB in ServiceNow
Configuration management is a popular topic with our customers, and JDS has been involved in a number of such projects ...
Read More
Read More

ServiceNow and single sign-on
More and more, organisations are opting to use Identity Providers (Idp) to allow their users to access multiple applications without ...
Read More
Read More

How to customise the ServiceNow Service Portal
ServiceNow is a robust SaaS (Software-as-a-Service) platform that replaces unstructured work patterns with intelligent workflows. ServiceNow is designed to improve ...
Read More
Read More

Integrating a hand-signed signature to an Incident Form in ServiceNow
Sometimes a business needs to save their client's signature on an incident to prove that someone has come out to ...
Read More
Read More

Integrating OMi (Operations Manager i) with ServiceNow
We have delivered Micro Focus solutions and migrated "Operations Manager for Windows" (OMW) to the innovative new OMi for a ...
Read More
Read More

Why businesses should do real-user and synthetic monitoring
In successful contemporary businesses, both synthetic and real-user monitoring play key roles in providing a more comprehensive and detailed understanding ...
Read More
Read More

Implementing an electronic signature in ALM
When it comes to quality assurance, consumers have come to expect and demand a high standard from manufacturers. Quality failures ...
Read More
Read More

Your organisation deserves a good dashboard (and here’s why)
Cars cost a lot of money, and when a driver gets behind the wheel, they want to know that every ...
Read More
Read More

Service portal simplicity
The introduction of the Service Portal, using AngularJS and Bootstrap, has given ServiceNow considerable flexibility, allowing customers to develop portals ...
Read More
Read More

Learning from real-world cloud security crises
In the modern interconnected world, an approach to IT security that simply plugs holes with additional firewalls or intrusion detection ...
Read More
Read More

What’s new in ServiceNow for 2017?
ServiceNow has released its latest version, Istanbul, which introduces a game changing innovation for the platform—Automated Test Framework to provide ...
Read More
Read More

Static Variables and Pointers in ServiceNow
When scripting in ServiceNow, be careful how you create your variables. If you refer to an object such as a ...
Read More
Read More

Citrix and web client engagement on an Enterprise system
JDS was engaged by a leading superannuation firm to conduct performance testing of their enterprise applications migrating to a new ...
Read More
Read More

Understanding outbound web services in ServiceNow
*This blog was updated on 20 March 2018* ServiceNow has the ability to manage both inbound and outbound web services, ...
Read More
Read More

How to solve SSL 3 recording issues in HPE VuGen
With web application security becoming more important you may find servers refusing to accept SSL 3.0 protocol due to security ...
Read More
Read More

How to record Angular JS Single Page Applications (SPA)
These days VuGen offers a number of ways to record SPA web application, including TruClient and importing Session Archive Zip ...
Read More
Read More

Calculating Pacing for Performance Tests
If it takes 4 people 12 days to dig a trench, how long would it take 6 people? Did you ...
Read More
Read More

Vugen and GitHub Integration
With the release of LoadRunner 12.53, VuGen now has built in GitHub integration. That means you not only have access ...
Read More
Read More

What’s new in LoadRunner 12.53
HPE recently announced the next update to LoadRunner – bringing it to version 12.53. While not a major release, there ...
Read More
Read More

Filtered Reference Fields in ServiceNow
One common requirement JDS sees when working with ServiceNow customers is the need to dynamically filter the available choices in ...
Read More
Read More

ServiceNow performance testing tips
Although ServiceNow comes prepackaged with a wide array of prebuilt applications, it’s possible to extend these and develop entirely new ...
Read More
Read More

Monitor Dell Foglight Topology Churn with Splunk
Topology churn is one issue that can cause serious Foglight performance degradation. It is the result of constant changing and creation of ...
Read More
Read More

ServiceNow Helsinki – Developer Concepts
If you’ve been following the latest trends in ServiceNow development tools, have been reading the Helsinki release notes or have ...
Read More
Read More

Straight-Through Processing with ServiceNow
How much time is your organisation wasting on manual processes? What is the true cost of lost productivity? Straight-through processing ...
Read More
Read More

Splunk: Using Regex to Simplify Your Data
Splunk is an extremely powerful tool for extracting information from machine data, but machine data is often structured in a ...
Read More
Read More

ServiceNow Choice List Dependencies
ServiceNow offers a handy little feature on forms that use choice lists. The values populated in one field can determine ...
Read More
Read More

Tips for replaying RDP VuGen scripts in BSM or LoadRunner
If you’ve ever worked with RDP VuGen scripts, you’ll know it can be challenging to develop a reliable script. This ...
Read More
Read More

Incorporating iSPI metric reports into MyBSM dashboard pages
Current BSM dashboards show limited capability of displaying NNMi iSPI Metric reports in any of the out of box NNMi ...
Read More
Read More

Using SV contexts to simulate stored data
The Scenario The following two diagrams highlight some basic workflows seen in many systems today. These examples aim to identify ...
Read More
Read More

What’s new in LoadRunner 12.02
HP recently released LoadRunner 12.02 and here at JDS, we have had first hand look at what HP has to ...
Read More
Read More

Recycle Bin for Quality Center
We've all done it at one stage or another—deleted a test in Quality Center, only to realise that it was ...
Read More
Read More

LoadRunner Correlation with web_reg_save_param_regexp
Do you have a correlation which you can’t solve because the values of the left and right boundary are dynamic? ...
Read More
Read More

LoadRunner 11.52
LoadRunner 11.52 is a relatively significant release. The features include a new version of the Virtual Table Server, integration with ...
Read More
Read More

QC for Testers – Quiz
Quality Center is one of the most used tool when it comes to Test Management and Test Planning. Think you ...
Read More
Read More

Agile Performance Tuning with HP Diagnostics
I recently delivered this technical presentation – “Get Dirty with Diagnostics: Agile Performance Tuning at the Lowest Level” at HP’s ...
Read More
Read More

What’s new in HP Service Virtualization 2.30
HP Service Virtualization (SV) 2.30 was released on December 18 2012. For those not familiar with the concept of Service ...
Read More
Read More

Understanding LoadRunner Virtual User Days (VUDs)
Previously we wrote about the different types of LoadRunner licenses available. There were still a lot of questions about VUDs, ...
Read More
Read More

Problems recording HTTPS with VuGen
Recently a client had an urgent request to monitor a HTTPS URL due to poor availability and performance. No problem, ...
Read More
Read More

Improving the management and efficiency of QTP execution
(co-authored with Huan Nguyen) If you are looking to run your regression suite quicker, this article shows you some tips and ...
Read More
Read More

Performance testing Oracle WebCenter with LoadRunner
What is Oracle WebCenter Oracle WebCenter is a technology used by Oracle as its internal intranet, supporting 100,000 users world-wide. ...
Read More
Read More

Generating custom reports with Quality Center OTA using Python
Visualising manual test execution distribution The Quality Center (QC) Open Test Architecture (OTA) API is a COM library that enables ...
Read More
Read More

Asynchronous Communication: Scripting For Cognos
A recent client engagement presented me with an interesting challenge when scripting for a performance test of Cognos (version 10.1) ...
Read More
Read More

How to fix common VuGen recording problems
One of the problems that occurs on occasion when using VuGen, are problems with Internet Explorer when starting a recording ...
Read More
Read More

Monitoring Active Directory accounts with HP BAC
Lately we’ve had an annoying problem of an Active Directory (AD) account that is used for our HP Business Process ...
Read More
Read More

URL Attachments in Quality Center
Sometimes you have a file that you work with that you would like to attach to QC but the file ...
Read More
Read More

What’s new in LoadRunner 11.00?
HP LoadRunner 11.00 is now out, and it's great that we can share with you some of the improvements to ...
Read More
Read More

Restore old License Usage stats after upgrading Quality Center
Following the upgrade of Quality Center from v.9 to v.10, the client asked whether it will be possible to retain ...
Read More
Read More

Changing LoadRunner/VuGen log options at runtime
LoadRunner has a whole bunch of logging options. These can be specified in your script's runtime settings, or specified in ...
Read More
Read More

Restricting large attachments in Quality Center
Once your Quality Center users discover that they can add attachments to defects (and test cases, and test sets etc ...
Read More
Read More

Retrieving Quality Center user login statistics
In the Quality Center Site Administration console there is a Site Analysis tab which gives you a break-down of the ...
Read More
Read More

A comparison of open source load testing tools
This is the start of a multi-part series of articles that compares the available free/open source load testing tools.
...
Read More

Worst practices in performance testing
Lots of people write articles on what they think are “best practices” in performance testing, but I think that it ...
Read More
Read More

LoadRunner Sales Questions
When a company wants to buy LoadRunner, there are a few key pieces of information that you need to find ...
Read More
Read More

LoadRunner Analysis: Hints and tips
The LoadRunner Analysis tool can either be a godsend or the devil’s daughter. I think most Performance Analysts have a ...
Read More
Read More

LoadRunner in Windows 7
IMPORTANT UPDATE:
HP Loadrunner 11 is now available. This new version now natively supports Windows 7 and Windows Server 2008. I ...
Read More
HP Loadrunner 11 is now available. This new version now natively supports Windows 7 and Windows Server 2008. I ...
Read More

Using the QuickTest Professional “commuter” license
If you're like me and want to use QuickTest Pro when you are out of the office, you will be ...
Read More
Read More

Installing HP Diagnostics
Installing HP Diagnostics in a Performance Testing environment is generally fairly simple. You will probably only be using it during ...
Read More
Read More

Understanding LoadRunner licensing
LoadRunner licensing seems to confuse some people (there are currently 2563 product numbers under the "Performance Center" centre in the ...
Read More
Read More

VuGen scripting for YouTube video
Video has seen a massive surgance on the internet with the launch of YouTube and other video sharing web sites ...
Read More
Read More

Creating a Web + MMS vuser
LoadRunner/VuGen supports both Web (HTTP/HTML) virtual users and Media Player (MMS) vusers, but it does not allow you to create ...
Read More
Read More

Why you should use backwards dates
How to write a date seems kind of trivial for a technical tip, but it is obviously needed because so ...
Read More
Read More

How to get the host’s IP address from within VuGen
Sometimes an application running on a client (even a web broswer) will send the IP address of the client machine ...
Read More
Read More

VuGen scripting for BMC Remedy Action Request System 7.1
I recently created some BPM scripts for the BMC Remedy Action Request System 7.1 web client. This Tech Tip contains ...
Read More
Read More

Unique usernames for BPM scripts
Imagine that you have created a BPM script that monitors one of your critical business systems from 10 locations around ...
Read More
Read More

Mapping drives for LoadRunner Windows monitoring
The LoadRunner Windows monitors (Windows Resource monitor, Microsoft IIS monitor) collect metrics using NetBIOS (port 139). The easiest way to ...
Read More
Read More

VuGen feature requests
VuGen is a great tool for developing scripts to emulate business processes for performance testing or application monitoring, but there ...
Read More
Read More

LoadRunner script completion checklist
Many years ago I had a team member who would always answer "yes" when I asked if he had finished ...
Read More
Read More

Querying Quality Center user roles
Quality Center stores the user/role relationship in a strange way in the database. This Tech Tip shows you one way ...
Read More
Read More

Querying the Quality Center Database
Sometimes the reports available from Quality Center don't quite give you what you want, and you find that you need ...
Read More
Read More

HPSU 2009 Presentation – Performance Testing Web 2.0
This Tech Tip contains the slides for my Performance Testing web 2.0 talk, that I presented at HP Software Universe ...
Read More
Read More

Scaling HP Diagnostics
I was recently called in to troubleshoot a large-scale HP Diagnostics installation. This Tech Tip contains some of the things ...
Read More
Read More

Global variables aren’t really global in LoadRunner
If you studied programming, you probably know a few little factoids like "global variables are bad", and "goto is considered ...
Read More
Read More

Client-side certificates for VuGen
Client-side certificates are a way to more securely identify a user of a web application. VuGen supports client-side certificates, but ...
Read More
Read More

Detect malicious HTML/JavaScript payloads with WebInspect (e.g. ASPROX, Gumblar, Income Iframe)
JDS Australia has developed a set of Custom Checks for WebInspect that aim to detect malicious HTML/JavaScript related to automated ...
Read More
Read More

VuGen code snippets
This is a repository of code snippets. Please send me any useful sections of code that you have written. Note ...
Read More
Read More

Integrating QTP with Terminal Emulators
According to the system documentation, QuickTest Professional supports a number of terminal emulators, the vendors including Attachmate, Hummingbird, IBM, NetManage, ...
Read More
Read More

Why you must add try/catch blocks to Java-based BPM scripts
On very rare occasions, you will find that you need to create a BPM script using a Java-based vuser type ...
Read More
Read More

Querying a MySQL database with LoadRunner
Let's imagine that you want to execute arbitary SELECT, INSERT, UPDATE and DELETE queries against a MySQL database from a ...
Read More
Read More

ANZTB 2009 Presentation: Performance Testing Web 2.0
This Tech Tip contains the slides for the Performance Testing web 2.0 talk that Stuart Moncrieff presented at ANZTB 2009 ...
Read More
Read More

How to make QTP “analog mode” steps more reliable
We all know that “analog†is widely considered a dirty word when it comes to QTP scripting. It is very ...
Read More
Read More

Testing multiple browsers in a Standardized Operating Environment (SOE)
Background A few months ago, I was asked to investigate a method for testing multiple web browsers inside a corporate ...
Read More
Read More

DNS-based load balancing for virtual users
In DNS-based load balancing, a website visitor will request a URL (like www.jds.net.au/tech-tips-articles/). Their web browser will do a DNS lookup ...
Read More
Read More

What’s new in LoadRunner 9.50?
LoadRunner 9.5 was released today and the focus has been on refining current functionality rather than adding completely new features. This ...
Read More
Read More

Calculating the difference between two dates or timestamps
Let's say that you have to determine the difference between two dates (represented as strings) and express the result in ...
Read More
Read More

The “is it done yet” loop
Occasionally you will find that you must write some code in VuGen to continuously check that the system has completed ...
Read More
Read More

Think time that cannot be ignored
Someone asked me once if there was a way of putting think time into a VuGen script that could not ...
Read More
Read More

Understanding aggregate variance within LoadRunner analysis
From time to time, you may notice variances within the Loadrunner Analysis tool. This is most apparent when reviewing the ...
Read More
Read More

Load balancing vusers without a load balancer
Recently I ran a test at a company which had a performance test environment with multiple web servers, but no ...
Read More
Read More

Harvesting file names with VuGen
VuGen isn't just a tool for load testing and application monitoring, it can be used to automate any repetitive task ...
Read More
Read More

Parameterising Unix/Posix timestamps in VuGen
A common question from people creating web-based VuGen scripts is how to handle timestamp values that are sent as part ...
Read More
Read More

HP Software trial license periods
HP software tools all have have different trial licensing periods. This is a short list of the demo license details ...
Read More
Read More

How to handle HTTP POSTs with a changing number of name-value pairs
Occasionally you will find that you need to create a VuGen script for a web application which changes the number ...
Read More
Read More

VuGen string comparison behaviour
Anyone who works with VuGen should know that they should compare strings using the standard C function strcmp(), rather than ...
Read More
Read More

Persistent data in VuGen with MySQL
One of the main drawbacks with VuGen is the inability to easily store data for later retrieval, and the lack ...
Read More
Read More

Monitoring Tomcat with LoadRunner
LoadRunner does not come with a monitor for Tomcat. Fortunately, you can easily create one in about 5 minutes… ...
Read More
Read More

How to write a Performance Test Plan
Writing a Detailed Test Plan (DTP) before you begin a formal performance test cycle is really important. Often, people just ...
Read More
Read More

Unable to add virtual machine
When trying to load a VMWare image you may be presented with an error message like this:
To get ...
Read More

LoadRunner scripting languages
It's wrong to assume that VuGen scripts are always written in C. Some virtual user types are only available in ...
Read More
Read More

WDiff replacement for VuGen
One of the quick ways to identify those areas in a VuGen script that requires correlation is to record it ...
Read More
Read More

Testing web services with a standard Web Vuser
It is possible to test web services using the standard Web (HTTP/HTML) virtual user type instead of the Web Services ...
Read More
Read More

Why your BPM scripts should use Download Filters
Recently JDS was given a good reminder of why VuGen's Download Filters are an important product feature. Someone created a ...
Read More
Read More

Querying your web server logs
So you've imported your web server logs into a database, and you're ready to start extracting useful information from them ...
Read More
Read More

Importing IIS Logs into SQL Server
If you are preparing to do some serious analysis of your web server logs, it makes sense to transfer the ...
Read More
Read More

QTP “Uninstall was not completed” problem
I came across this problem while installing QTP 9.5 earlier this week which caused a fair amount of frustration. The ...
Read More
Read More

VuGen correlation for SAP Web Dynpro
If you are trying to create a LoadRunner script for a SAP Web Dynpro application, and you are having problems ...
Read More
Read More

How to save $500 on your HP software license
A long time ago, on the first day of my first ever load testing job, the project manager approached me ...
Read More
Read More

Testing and monitoring acronyms
The IT industry often seems acronym addicted, and the software testing and application monitoring fields are certainly typical of this ...
Read More
Read More

Solving VuGen script generation errors
On very rare occasions you may encounter a web-based application that causes VuGen to throw an error during code generation ...
Read More
Read More

An introduction to SiteScope EMS Topology
Say you want to populate your CMDB with all the servers at your company. A discovery tool is the obvious ...
Read More
Read More

Using the BAC JMX Console
This is a short presentation on the BAC JMX Console, a feature that allows you to directly call methods exposed ...
Read More
Read More
Hi, I am having trouble with the xml extract and xml find. I tried similar format with my response and the function is not able to find or extract. I ran the same example above and see that the lr_xml_extract is failing. Can you help, please?
Hi Deepa,
I copied the code into a new script and it appears to be working now – have another go.
Getting the XPath can be tricky, but there are a few different websites that can help. Online validators let you paste in your XML and check your XPath expressions return results. Try googling ‘online xpath validator’ and pick one that suits.
Thanks Daniel for the quick response. I will try again. I am wondering if it is the version of Vugen I am using. I see some other people posting some issues with XML functions with this version.
Daniel,
I used an online tool for xpath as per your suggestion and it worked.Thanks so much.
Hi there,
I am using LR 11.52 and trying to pass a soap request using web_custom_request.
When script is replayed, it is throwing Internal 500 error. I have checked the request in the LR output log and it seem to be correct.
Also, the same request is displaying correct response when run in SOAP UI.
Could you tell me possible causes/ solution?
I have attached the script too.
Thanks
Hi Stuart,
I was going through the various topic listed here..
Could you please help me out in the problem listed below-
Problem -> I have a .Net WebAPI for fetching the data from the database.
It is using JSON data to POST the requests.
In the Request Body we pass the required parameters and in Headers we pass the “Security token” along with other parameters.
Developer has written a logic to Generate the Unique Security token each time and add into Header, before posting the JSON body.
I have the DLL which has the logic of generating the security token.
The Problem is -> How can i use this DLL so that, EACH time when i run the script from VUgen, it will ADD the Security token parameter in the HEADERS and After that POST the request body.
It is something like (in simple words) – When we run the VUgen script -> The DLL methods will add the Security Token parameter in the Headers and THEN, the Scripts execution will proceed with this security token and Post the request to server.
Could you please let me know, if it is possible to ADD the security token in the PRE Request ?
Note – VUgen script i have created using the Fiddler’s .SAZ file and it contains the web_custom_request() method
let me know, if you need any more information.
Thanks,
Sam
Hi,
Thanks for the helpful information!
I want to test file upload using Loadrunner for Web Services, is this feasible? It would be a great help if you can guide me with few steps.
thanks.
I need a load runner script to capture the CPU , Memory utilization.
i have around 70 servers to be monitored , which is impossible for me to manually login and check them indivigually. Is there a way i can do it through load runner
Can someone provide me an exact code in LR, using plink. i was able to run the command but not capture the response
I have resolved using simple perl programming and interconnected to Load Runner to capture CPU, Memory, Disk and IO utilizations
Hi , Can you please help me to capture the XML request not the response.
Reason for this , Development team require to debug the xml request based on the response which we are receiving from the server for the different kind of data.
How to map WS configuration in HP Load Runner for web service protocol:
I have imported WSDL and included the certificate with the help of web_set_certificate function. but again some behind wsi configuration need to setup. Any one have any idea how to map it?
In SOUPUI Pro -> have an option to include one configuration. Each configuration will have a Username and a Signature entry.
These entries will be applied to the corresponding outgoing SOAPUI message in the Security Header when the message is sent.
• Go to project name “test”, right-click
• Select “Show Project View”
• Go to “WS-Security Configurations” tab
• Click the Add button
I am trying to performance test a web service using web_custom_request but the web service requires server authentication and i am getting below error.
Action.c(6): Error Exceptions:
Action.c(6): System.Exception: Soap error:
Message:ITW Agent cannot locate all required security information.Username is missing. Password is missing.
at Mercury.LR.LrWsNetClient.ProxyCreator.InvokeMethod(String sMethod, IWSMethodParameters mParams, String sAsyncEvent)
at Mercury.LR.LrWsNetClient.NetReplay.InvokeMethod(String sMethod, IWSMethodParameters mParams, String sAsyncEvent)
Action.c(6): Error:Expected SOAP result, received SOAP fault
Action.c(6): Error:Failed to retrieve output arguments/checkpoints – SOAP fault occurred
I tried using web_set_user(“username”, “password”, “www.example.com:443”) function but did not work.
Could you please help me get through this?
Thanks in Advance
I am doing performance testing of an desktop application, the communication protocol is web service so I adopt the approach to do the webservice scripting using HTTP/HTML protocol.
Cliet application is developed in .net and server is windows 2003. I have build the Loadrunner script successfully, while executing the same I am facing below error . I am struggling a lot in order to fix this issue . Any sort of help is really appreciable .
===========================================================================
Action.c(16): Continuing after Error -26630: HTTP Status-Code=401 (Unauthorized) for “https://fci-bccwqahyb02.sysdev.adroot.bmogc.net/FormsProcessingWebServicePhase2/PrefillService.svc” [MsgId: MERR-26630]
=================================================================================
Hi,
I am trying to create a web_custom_request using XML to test web service. In web_custom_request which URL needs to used? Is it WSDL or anything else? What is the exact terminology used for this URL? I am not able to understand which url to ask from dev team to use in custom_request. Can someone please help me?
Thanks,
Adil
[…] I want to loadtest a web service by creating a SOAP request in SoapUI and pasting it into a regular LoadRunner web virtual user within a web_custom_request(). This should be straight forward and is described i.e. here: https://www.jds.net.au/tech-tips/web-services-with-a-web-vuser/ […]
why should we need web_custom_request in web services.
regards,
srikanth
hi
I am using large xml files could you please give us the solution how to test the big size xml(5MB). For web svc protocol
Thanks,
Ravi
Hi Team,
Can you pls help me resolving this issue i got struck over here for past 2 days,searching for the solution
ie i am trying to place an webservice request, as specified above. But after execution it is throwing error as
Error -26631: HTTP Status-Code=400 (Bad Request) for
[…] of good info for people testing web services (people should also read my Testing Web Services With a Standard Web Vuser […]
hi,
I am trying to post the xml to the web service, but i get the 500 Internal error as below.
response headers for “http://wbv-oal-t0001/Outage_Communicator/getOutageCommunicatorServiceStatus.asmx” (RelFrameId=1, Internal ID=1)
HTTP/1.1 500 Internal Server Error\r\n
Can you please help me if I am missing anything in the script.
web_add_header(“Content-Type”,”text/xml; charset=ISO-8859-1″);
web_add_header(“SOAPAction”,”http://wbv-oal-t0001/Outage_Communicator/getOutageCommunicatorServiceStatus\””);
web_custom_request(“getOutageCommunicatorServiceStatus”,
“URL=http://wbv-oal-t0001/Outage_Communicator/getOutageCommunicatorServiceStatus.asmx”,
“Method=POST”,
“TargetFrame=”,
“Resource=0”,
“Referer=”,
“Body=\r\n”
” \r\n”
” \r\n”
” \r\n”
” \r\n”
” 01\r\n”
” \r\n”
” 0101\r\n”
” \r\n”
” \r\n”
“”,
LAST);
Thanks,
Radan
I guess, in order to post web service request via http/html protcol(use web_custom_request) a web page is required.
The purpose of the web page is to take input parameters for the XML/SOAP request to the server.
What are the criteria for designing a web page to host XML/SOAP requests?
If the above approach is not correct, can you please guide me with the right information from scratch- how to use web_custom_requests i.e post web services via http/html?
Thanks much in advance.
If you are looking for a web service to practice writing a LoadRunner/VuGen script for, then you should look at the API Directory from ProgrammableWeb.
If you are wanting to develop your own web service, then you will need a web server with a server-side scripting language like PHP or C#. Once you know what language/platform you are using, it should be easy to find a tutorial on creating web services.
Using someone else’s web service is the easiest way to go if you just want to practice creating LoadRunner/VuGen scripts though…
Cheers,
Stuart.
Hello,
I have a query regarding a mixed approach taken by project. It is a mixed approach of WebMethods and HTTP Post method.
Project is using WebMethods for integration. But it is not using SOAP or WSDL. It is just exposing method. A .NET client is using MSXML2.XMLHTTP40 object to send data (XML) using HTTP POST method.
I have to emulate similar. I tried code to submit data using web_custom_request and web_submit_data. I can login fine using web_set_user. But i receive HTML status code – 403 when code moves to submit request.
Following is a web_custom_request call: (do note that I have changed certain parameters)
Would you please be able to help.
Regards,
Jigar
An HTTP 403 response means that authentication is probably failing. It would be a good idea to have a look in the web server log to see if there is more information about why it is failing (i.e. sc-substatus and sc-win32-status).
I am happy to have a look at your script if you send it to me.
Cheers,
Stuart.
Could you please let me know what I need to do when accessing the URL needs authentication. What will need to be changed in the “web_custom_request” code block.
[Stuart’s Reply: To handle a web service that requires authentication, you need to put a call to the web_set_user() function at the top of your script.
This function supports Basic authentication, Digest access authentication, NTLM, NTLMv2, and Kerberos (with some extra mucking around).
Note that if the username you are authenticating with is on a domain, you may have to include the domain in the username field. e.g. web_set_user(“domain\\username”, “password”, “www.example.com:443”). ]
Waldemar Sojka has written something simlar for his blog: Web Services performance using LoadRunner HTTP Vuser script