none
SOAP Service - CORS Preflight Support (HTTP OPTIONS Method) RRS feed

  • Question

  • All,

    First, I'm running BizTalk 2013R2.

    I've got a functioning SOAP Service which uses the WCF-WSHTTP adapter. (A few actually) Upon doing system integration tests, we found that the consumer of the service intended to call it via embedded script running within the browser. Thus, the browser requires CORS compliance.
    After some research, we were able to add the headers for the "access-controll-allow-origin" into IIS via web.config. 

    Problem: The browser does a preflight check. So, it's sending an OPTIONS request prior to doing the POST. 

    With the WCF-WSHttp adapter, the client receives a 400 Bad Request response. I don't see anything hitting the inbound pipeline on this request. If I stop the receive port, I get a service not available response to the client. So, I'm thinking that it's getting past IIS and the in-process adapter is rejecting the OPTIONS Http method prior to sending the information into the pipeline.

    I found some posts about using the WCF-WebHttp adapter to cause BizTalk to reply to the OPTIONS method just like the EDI ack response message. (Credit to: Nick Hauenstein http://www.quicklearn.com/blog/2013/09/06/biztalk-server-2013-support-for-restful-services-part-45/)
    I've been able to get this to work, but the WCF-WebHTTP adapter isn't SOAP.

    I've been poking around with other adapter types and doing google searches with no success to date.

    Has anyone here encountered and solved this problem? I don't really want to switch over to REST on this since time has already been invested in developing these SOAP web services.

    Any suggestions would be greatly appreciated.

    Thanks!

    Chris

    Friday, December 11, 2015 3:13 PM

Answers