SOAP UI project request object - web-services

I am working with SOAP UI project to test web service.
When i build a request automatically using SOAP UI right click and generate rquest.
Request is generated with default '?' value with all the properties requires for request.
My request object contains bunch of properties nearly i can say 100-150. I have to set this manually.
My question is that is there any way to generate request object with default values?

Yes, use a Request Template.
Under the Interface, find your method.
Right click on the method, select New Request, give it a name, click OK.
Define your default values. Close the Request editor.
Right-click on the Request you named in step 2, select Add To test Case. Follow through with the rest of the prompts.

Related

How to change SoapUI testRequest method to get instead of Post

I need to change the request method to GET instead of the default one POST in SoapUI 5.3.0.
ٍSteps
Open SoapUI.
Create new project.
Add WSDL.
Add New Test suite.
Add New Test case.
Add new Soap Request step.
When I run the test step and check the HTTP log I find that the default method is POST.
How I can change the method to GET.

SOAP request going to localhost

I'm testing a SOAP web service using Soap UI.
The WSDL location is on an external server, so I load and create a new project like this:
However, when I try to create a request, the endpoint points to localhost:
I have to manually insert the right endpoint URL for the request to work.
What could be behind this?
If you open the wsdl file in a browser or in a text editor, it will be clear that the endpoint has the same url, i.e., localhost, but not the actual one. That is the reason you are experiencing that.
This mostly happens also as developers try to use localhost while developing and it is not required/no point/does not make sense to have their hostname in wsdl unless it is a public wsdl. If QA team is using, then they will set their hostname in the endpoint, similarly for the other environments. So, you really do not have to worry about it, I believe.
In order to set the right endpoint at one place and apply for all requests( instead of changing it for each and every request), do the following:
Go to the service interface, right click and show interface viewer.
Click on Service Endpoints tab.
Click on + button.
Add the actual endpoint what you wanted
Click on Assign button, and select All requests and Test Requests from dropdown and say ok
Repeat the same if you have multiple interfaces in your project.
Save the project, and you are done.
You should be able to see the desired endpoint for all the existing test requests and even for the new one that you are going to create later.

What do I need to write to be able to communicate with a web service?

I've been tasked (I'm not a web developer) with creating something (a web service "client") that will connect to a web service, retrieve a list of files (url's) and then download them (HTTP Post) for further processing. I guess anything like a command line app that I can schedule to run daily will do (but I'm open to suggestions).
I have documentation for the web service, it uses SOAP 1.1 which I am somewhat familiar with (used it in a few web pages, but that was classic asp). They are even offering a WSDL to download in order to generate proxy classes, or you can create your own.
Below is the description of the objects that the WSDL creates:
There are six software entities that you will need to implement in your web service client. If your development environment automatically generates these from the WSDL, they will have the following names and purposes:
DownloadSvc
Response
ResponseCodeEnum
UserType
CertificationEnum
FileFormat.
DownloadSvc Class – This is the central object you will use. It implements the majority of the behavior needed to login to the service, to check the availability of a download and to obtain the download URL. For example, it has a Login and a GetURLS method. This class supports both full and change list (“delta”) downloads.
Response Class – Most methods of the DownloadSvc return this Response object. The fields in Response are as follows:
The Response.code field always describes the success or failure of a method call.
The Response.value field sometimes contains additional information.The remaining four items are simple enumerations that define the allowable values in the fields passed from or to the service.
ResponseCodeEnum – Describes the possible values of the Response.code field. For example, it may return a code of LoginOK or DownloadOK for successful calls, or an error-specific code for failures. You can see the specific code values listed in the sample SOAP responses in the SOAP Appendix.
UserType – Only used with the Login method. It identifies which password is being used to login: your Representative password or your Downloader password.
CertificationEnum – An enumeration that you use to certify your agreement with the FTC’s conditions for downloading these phone number files as specified on the download full or download change page.
FileFormat – An enumeration that lets you select a flat text file or an XML file format.
Here's my question: where do I start in Visual Studio? What type of project do I need? Thank you!

Overriding URL paths sent to Google Analytics

In my web application, I have a path as /search.
I also have a cookie named city set as CityA or CityB depending on what the user selected previously. I have set up Google Analytics to monitor the Visitor Flow.
My question is, how can I override the path /search to show up as /cityA/search or /cityB/search in the Analytics Behavior Flow menu, depending on the cookie value?
PS. It is a Rails app and actually changing the URL is not feasible at this point, since I will then have to reconfigure my Routes.rb file and update links everywhere.
Edit:
I have to use ga.js. Moving to Universal Analytics(analytics.js) is beyond my control at the moment.
In your analytics.js snippet you should see the following line:
ga('send', 'pageview');
You can pass an additional argument to the send method that overrides the page path. In your case it would look something like this:
ga('send', 'pageview', {
page: 'cityA/search'
});
You'd have to add some Rails logic in your .erb file to adjust the page value based on the cookie, but that shouldn't be too much trouble.
For reference, here's some information on the send method and the arguments it accepts:
https://developers.google.com/analytics/devguides/collection/analyticsjs/method-reference#send

How do I spoof an HTTP request to test a .NET Web Service

I have a web service that is running on a test instance in IIS. Unfortunately, certain requests to it cause it to throw basic errors like "Object not set to an instance of an object".
The people who use the webservice then send me the full HTTP request (including headers) that caused the error, which I now need to throw at the instance running in my development environment to bug fix.
Any suggestions on how to do this? (Putty would work but you cant copy and paste into Putty when its connected and that makes for laborious debugging!)
http://www.soapui.org/
SOAP UI is a nice soft for this kind of things, you can add your reference, and then copy/paste your friends request !
To add your reference :
Launch SoapUI
Right Click on "Projects"
New SoapUI Project
Fill the "Initial WSDL" textbox with your local wsdl url (ie "http://localhost:1234webservice.asmx?wsdl" (don't forget ?wsdl))
Click "OK"
To execute your request
Expand your newly created project
Expand the port you whish to use (the main difference is the wsdm version 1.1 or 1.2)
Right click on your Method
"New request"
On the Request windows copy /paste that you received
Click on the green triangle on the top right corner of this window.
Use soap UI. http://www.soapui.org/
Somebody posted Fiddler http://www.fiddler2.com/fiddler2/ on this answer earlier and then deleted it - I gave it a try and it works fantastically. (thanks)