none
How to consume WCF soap web service in node.js RRS feed

  • Question

  • Hi,

    I tried the following code.

    var BasicHttpBinding = require('wcf.js').BasicHttpBinding
      , Proxy = require('wcf.js').Proxy
      , binding = new BasicHttpBinding()
      , proxy = new Proxy(binding, "http://www.restfulwebservices.net/wcf/WeatherForecastService.svc")
      , message =  "<Envelope xmlns='http://schemas.xmlsoap.org/soap/envelope/'>" +
                         "<Header />" +
                           "<Body>" +
                             "<GetCitiesByCountry xmlns='http://www.restfulwebservices.net/ServiceContracts/2008/01/IWeatherForecastService/GetCitiesByCountry'>" +
                               "<Country>KOREA</Country>" +
                             "</GetCitiesByCountry>" +
                            "</Body>" +
                       "</Envelope>"
    
    proxy.send(message,"http://www.restfulwebservices.net/ServiceContracts/2008/01/IWeatherForecastService/GetCitiesByCountry", function(response, ctx) {
      console.log(response)
    });

    But getting error like

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode><faultstring xml:lang="en-US">The message with Action 'http://www.restfulwebservices.net/ServiceContracts/2008/01/IWeatherForecastService/GetCitiesByCountryResponse' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver.  Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).</faultstring></s:Fault></s:Body></s:Envelope>
    

    Any help on this will be really helpful.

    Thanks.

    Monday, March 25, 2013 9:25 AM

Answers

All replies