First lesson: you don’t need WSE to consume a web service.  Just add the web reference.


Second lesson: if you have a web service that only exposes simple types (e.g., strings), you don’t get a Reference.xsd created when you add the web reference.  Therefore, you can’t use a map to set the values of your web service’s parameters.  You need to use a Message Assignment shape inside a Construct Message shape to set your parameters.  This also means that you have to promote or distinguish any value in your incoming message that you need to pass to the web service.  See my previous post about promoting strings >256 characters.


Third lesson: the Request-Response port that you need should use the SOAP protocol and the PassThru pipelines.


I also found that, if you have the same service on different URLs, the URL that you use to add the web reference to your project can be different from the URL that you use to configure your port.