Invoking WCF service method through a browser

前端 未结 3 1267
一生所求
一生所求 2020-12-01 05:40

I\'ve a WCF service which uses basic http binding. How do I invoke its operations/methods through a browser?

相关标签:
3条回答
  • 2020-12-01 05:53

    I would recommend setting up multiple endpoints for the Service. Add an endpoint using webHttpBinding to get an XML version of the service. If this is done correctly the response you will get from the service is identical to the basicHttpBinding endpoint, but without the SOAP overhead.

    Other than that, you can't call a SOAP web service directly from the browser because it requires a form post. You could use a tool to test it using SOAP though, I recommend Soap UI. Its written in Java but I try not to hold that against it. :)

    0 讨论(0)
  • 2020-12-01 05:58

    After adding the above code, the endpoint property has to be modified in web.config, binding="webHttpBinding" and behaviorConfiguration="webHttp".

    0 讨论(0)
  • 2020-12-01 06:03

    You would need to add WebGetAttribute to your method like following sample

    [OperationContract]
    [WebGet(UriTemplate = "/placesList/{userId}",
    ResponseFormat = WebMessageFormat.Xml)]
    List<Places> GetAllPlacesForUser(String userId)
    {
      string xml = "";
      // build xml here
      return xml;
    }
    

    Now in the browser, you could invoke the method like this

    http://localhost:8085/GeoPlacesDataService/placesList/10
    where 10 is the userId parameter.

    Note: In order to add WebGetAttribute you have to reference System.ServiceModel.Web namespace which is found in a separate assembly

    0 讨论(0)
提交回复
热议问题