WSDL and SOAP Clarification - soap

Can someone confirm or clarify:
WSDL describes a web service's API to the outside world
SOAP represents an actual transmission of a web service request/response
So, if I understand correctly, WSDL-compliant XML is wrapped inside of SOAP and passed over HTTP to the web service interface, unwrapped, validated against the WSDL, processed, and responded to.
Yes? No? Close?

You're close.
The WSDL describes the contract that a Web Service adheres to or, in other words, the format that the service expects to receive and transmit data in.
SOAP (Simple Object Access Protocol) is one protocol by which Web Services communicate. SOAP will wrap the message with additional information. The message with the SOAP body carries must comply with the service's WSDL for the service to properly process the message.

Related

Should I be using REST or SOAP UI for testing?

I am testing a new webservice that is receiving messages from an application and responding with messages with specific information. The webservice then uses this information to create new messages for downstream systems. I need to know the best way I can test this using the Ready API tool, we just got a pro license. Is it SOAP or REST I need to use. Ideally I want to simply copy my application messages in to the tool, call the webservice and get the response, which I can then check is the correct response for the test
To find your web-service is SOAP or REST.
Please check whether your web service has WSDL to verify it has SOAP web-service, you can get your web-service's WSDL by post-fixing WSDL with your web service url.
Eg: http://{yourservice-url/path1}?WSDL
If your service don't provide WSDL from the above URL, then your web-service is REST.

Why in SOAP client needs to know the web services's interface?

I am new to web application development, I am learning many things from many tutorial, currently I am learning SOAP and REST.
My confusion is regarding SOAP , in SOAP based architecture when a user enters a URL, it takes him/her to SOAP client and then that is the page that the client sees ? and then this SOAP-client will actually communicate to another application SOAP server ??
Not understanding it at all? Can someone please explain?
SOAP is meant for communication between machine over HTTP/HTTPS with common interoperable format i.e XML.
Think like you are payment gateway provider, someone's would like to use your payment gateway for transactions.
So as payment gateway provider, you may create webservice, and whoever wants to use it could create SOAP client to use your payment gateway service.
So in your case the HTML page is party would like to utilise the payment gateway service (by calling the SOAP service).
Do some googling, you will find lots of practical SOAP use cases.

What's the difference between receiving data by SOAP header and SOAP body?

I would like what happen when an web service receive part of data by SOAP header. What's the diference between receive data by SOAP header and SOAP body (Before the web service receive all of data by SOAP body)
I don't understand at all what are benefits of this new version.
PD: My web service is based on Java with JAX-WS
Thanks a lot.
Same as any request SOAP has header and body. generally SOAP has all data in body.
Body is highly documented so you can not send additional data in SOAP body.
If you are doing It may break the other end code(Implementation in different for different technologies).
SO if you want to send additional data in SOAP without effecting the WSDL you can use SOAP header.
Headers are like to send additional information.
these header and values can be accessed from message context.
to access these value code may vary from technology to technology

Do both SOAP and/or REST refer back to WSDL?

Do both SOAP and REST refer back to the WSDL? I'm having trouble distinguishing between SOAP and REST.
No, only SOAP does.
Essentially SOAP is a protocol with the client and server making agreements as to the kinds of data types transmitted and what actions should be taken by the server for a request. This agreement is specified in the WSDL file.
With REST, there is no agreement as the point of REST is to talk to a resource using only GET, POST, PUT, and DELETE. Nothing about the underlying implementation as specified by a WSDL file should be known to a REST client.

What is http text post in webservice context?

I am having confusion around http text 'post' in terms of webservice context. We are having a web service which is built on SOAP protocol, now the integration partner wants to eliminate the SOAP portion of the XML message and wants us to post XML message as 'http text post'.
Is this REST HTTP POST? Please clarify.
POST is an HTTP request method, of which there are many (ex. GET, PUT, DELETE, HEAD...). POST is used to submit data to a server for processing, whereas GET (for example) is used to retrieve data for reading. You can read more here. These methods are used for all HTTP communication, whether the target is a SOAP/REST web service or an Apache server hosting a regular website.
SOAP normally operates using POST requests, although it is possible to use GET with SOAP 1.2 as well. GET requests have more restrictive size limitations than POST requests.