As a server, you can setup a channel to be an HTTP Listener. As you receive messages, you have access to the payload, the query string and other information about the HTTP Request. If the request is for the wsdl, you can return the WSDL as the HTTP Response.
As a client, you can setup a Web Service Connection. You can select the type of "SOAP Web Service HTTP". This will allow you to download, save, and even modify the WSDL provided by the web service. When you use the Web Service Connection, the WSDL can provide the templates and operations necessary for calling the webservice.
Ultimately, all you need is the SOAP envelope to call the webservice. If the WSDL from the server is not working properly, you can always switch to use a "REST Web Service (Encoded Content)". This will allow you to send whatever SOAP envelope you need to call the endpoint.