0

我的肥皂服务器在响应标头中发送 Content-Type: text/html。我需要内容类型:文本/xml。

public function index()
{
    $this->layout = 'soap';
    ini_set("soap.wsdl_cache_enabled", "0");
    $this->server = new SoapServer('wsdl/tur.wsdl', array(
            'soap_version' => SOAP_1_2, 
    ));
    $this->server->setObject($this);
    $this->server->handle();
}

这是服务器的响应:

HTTP/1.1 200 OK
日期:2012 年 3 月 19 日星期一 12:17:10 GMT
服务器:Apache/2.2.20 (Ubuntu)
X-Powered-By:PHP/5.3.6-13ubuntu3.6
Set-Cookie:CAKEPHP=msmid2fijgrj1efjs0otl8qfj1 ; 过期=格林威治标准时间 2012 年 3 月 19 日星期一 16:17:10;path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 877
Content-Type: text/html ; 字符集=UTF-8

我尝试使用 text/xml 内容类型调用 header()

public function index()
{
    $this->layout = 'soap';
    ini_set("soap.wsdl_cache_enabled", "0");

    header("Content-Type: text/xml");

    $this->server = new SoapServer('wsdl/tur.wsdl', array(
        'soap_version' => SOAP_1_2, 
    ));
    $this->server->setObject($this);
    $this->server->handle();
}

构建 SoapServer 前后,但没有结果。

4

1 回答 1

1

(在问题编辑中回答。转换为社区 wiki 答案。请参阅没有答案的问题,但问题在评论中解决(或在聊天中扩展)

OP写道:

解决了,这是一个 сakephp 功能。感谢How to write content type in cakephp?

public function index()
{
    $this->layout = 'soap';
    ini_set("soap.wsdl_cache_enabled", "0");
    $this->server = new SoapServer('wsdl/tur.wsdl', array(
        'soap_version' => SOAP_1_2,
    ));
    $this->server->setObject($this);
    $this->server->handle();

    $this->RequestHandler->respondAs('text/xml');
}
于 2015-01-31T15:23:56.457 回答