2013-10-18 37 views
2

我需要在PHP中調用SOAP 1.1 Web服務。然而,爲了工作的一個要求是我必須發送Content-Type = application/soap + xml。現在,我知道這些都是差異:如何使用非默認Content-Type創建PHP Soap 1.1呼叫

  • SOAP 1.2 - >內容類型:應用程序/肥皂+ XML
  • SOAP 1.1 - >內容類型:text/xml的

我需要將SoapClient與WSDL一起使用來執行此操作。但是,在將版本設置爲SoapClient爲1.1後,我找不到如何設置Content-Type。有人可以提供示例代碼片段嗎?

謝謝!

回答

1

您可以在SoapClient選項中提供流上下文。

$ctx_opts = array(
    'http' => array(
     'header' => 'Content-Type: application/soap+xml' 
    ) 
); 

$ctx = stream_context_create($ctx_opts); 
$soapClient = new SoapClient('your.wsdl', array('stream_context' => $ctx)); 
+4

頭部似乎在PHP5.5中被忽略。我假設SoapClient將它自己設置在它自己的上下文中。 – Andrew