PHP SOAP调用连接重置

时间:2018-02-04 10:03:12

标签: php soap

我得到以下鳕鱼试图连接到SOAP服务器并运行命令。但是,只要我使用$ client-> login( array()),Chrome就会使用ERR_CONNECTION_RESET进行重新调整。

当我没有数组()时这样做:

$client->actief($params);

我从SOAP客户端收到消息“NOT FOUND”。 任何人都能指出我正确的方向......

我连接到soapClient并使用函数__getFunctions()我得到了函数:

  

array(3){[0] => string(41)“actiefResponse actief(actief $ parameters)”[1] => string(38)“loginResponse login(login $ parameters)”[2] => string(41)“logoutResponse logout(logout $ parameters)”}

<?php

$client = new SoapClient(
    'https://xxxx',
    array(
        'trace' => 1,
        'use' => SOAP_LITERAL,
        'location' => 'https://xxx',
         "stream_context" => stream_context_create(
            array(
                'ssl' => array(
                    'verify_peer'       => false,
                    'verify_peer_name'  => false,
                )
            )
        )
    )
);

var_dump($client->__getFunctions());
$params = new SoapVar('
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <S2:actief
          xmlns:S2="urn:sessie:sessie"
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <S2:dsClientContext>
            <ttClientContextValue>
               <contextClass>global</contextClass>
               <contextName>guid</contextName>
               <contextType>character</contextType>
               <valueCharacter>a35702d5-6dc1-2e8d-11e8-01d65f768678</valueCharacter>
               <valueNumber>0.0</valueNumber>
               <valueDate xsi:nil="true" />
               <valueClob xsi:nil="true" />
               <valueBlob xsi:nil="true" />
            </ttClientContextValue>
         </S2:dsClientContext>
      </S2:actief>
   </soapenv:Body>
</soapenv:Envelope>
', XSD_ANYXML);

try {
$result = $client->actief(array('parameters' => $params));
} catch (Exception $e) {
    echo $e->getMessage();
}

1 个答案:

答案 0 :(得分:0)

当我不使用WSDL模式并指定&#39; uri&#39;选项运作良好,我得到了SOAP的响应。

我真的不知道为什么它不能在WSDL模式下工作,而且它在非wdsl模式下工作。