我得到以下鳕鱼试图连接到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();
}
答案 0 :(得分:0)
当我不使用WSDL模式并指定&#39; uri&#39;选项运作良好,我得到了SOAP的响应。
我真的不知道为什么它不能在WSDL模式下工作,而且它在非wdsl模式下工作。