요청에 SOAPAction 헤더가 필요하지 않도록 WCF에서 웹 서비스를 구현하고 메시지 본문 루트 요소 이름을 사용하여 호출을 보내려면 어떻게해야합니까? 기본적으로 BasicHttpBinding에는 SOAPAction이 필요합니다.SOAPAction 헤더가없는 WCF 웹 서비스
SOAPActions를 사용하지 않는 클라이언트와의 호환성을 제공하려면이 설정이 필요합니다. 이 내 SOAP 메시지입니다 :
<?xml version='1.0' encoding='UTF-8'?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<messageDeliveryReport xmlns="http://bogus/ns"><status>D</status><systemName>cc</systemName></messageDeliveryReport>
</env:Body></env:Envelope>
와 나는 'messageDeliveryReport'작업을 호출합니다. 감사!
An HTTP client MUST use this header field when issuing a SOAP HTTP Request.
그래서 당신이 상대하고있는 것은 2000 년부터 존재했던 것 표준을 준수하지 않는 클라이언트 : 그것은은 BasicHttpBinding의 문제가 아니다
클라이언트가 * .asmx ASP.Net 웹 서비스 용으로 구현되었고 SOAPAction 헤더를 사용하지 않았기 때문입니다. 하지만 이제는 클라이언트 앱 개발자가 클라이언트를 업데이트하고 표준을 준수하도록 설득하는 것이 더 합리적이라고 생각합니다. – nightwatch
문제는 WCF가 표준과 호환되지 않는 SOAP 1.2 호출 용 SOAPAction 헤더를 필요로한다는 것입니다. – gbjbaanb