When adding parameters to a URL you are doing a HTTP GET. If you are doing "standard" SOAP over HTTP your assumption is incorrect. All SOAP services use POST. They can technically use GET but typically you see POST. The reason is simple. SOAP XML is complex and including that in the URL is going to be a real pain.
Assuming you have a simple piece of XML like:
<Customer>
<Name>John</Name>
</Customer>
The URL in a get is going to be something horrendous.
Now how does a server know which operation to execute. Well it looks at the request made. The operation is not specified in the URL.
For example I have a service that has two operations ListAccountsForStatus and ListTelephonicContactsByDate both of which runs at the URL of http://my-server:9100/AccountService/V1. However the requests look different:
POST http://my-server:9100/AccountService/V1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://www.insol.irix.com.au/ECollNXDB_V1/EcollUtilsServices/ListTelephonicContactsByDate"
Content-Length: 1337
Host: my-server:9100
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
<ecol:ListTelephonicContactsByDate>
<ecol:ListTelephonicContactsByDateReq>
<ecol:Date>2016-08-04</ecol:Date>
</ecol:ListTelephonicContactsByDateReq>
</ecol:ListTelephonicContactsByDate>
</soapenv:Body>
</soapenv:Envelope>
And the second one:
POSThttp://my-server:9100/AccountService/V1 HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://www.insol.irix.com.au/ECollNXDB_V1/EcollUtilsServices/GetAccountStatusInfo"
Content-Length: 1329
Host: my-server:9100
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ecol="http://www.insol.irix.com.au/ECollNXDB_V1" xmlns:irix="http://www.insol.irix.com.au/IRIX_Headers_V1" xmlns:irix1="http://schemas.datacontract.org/2004/07/IRIXContract.MsgHeaderBase">
<soapenv:Header/>
<soapenv:Body>
<ecol:GetAccountStatusInfo>
<ecol:GetAccountStatusInfoReq>
<ecol:accountNumber>376062766403006</ecol:accountNumber>
</ecol:GetAccountStatusInfoReq>
</ecol:GetAccountStatusInfo>
</soapenv:Body>
</soapenv:Envelope>
Notice that the operation is specified in the SOAPAction header. So in short for you to use a SOAP web service.
- Point your code generation library (in your case look for WCF Blue, or how to generate code from WSDL for c#) to the
WSDL and generate required classes.
- Use the generated classes to interact with service using the URL only not the WSDL url.
You do NOT want to hand code the xml requests and read the responses.