我已经制作了几个使用外部WSDL的脚本.我遇到了一个我必须整合到我的系统中,我无法工作.我一直在努力,没有任何结果.
该脚本已经无法创建构造函数:
$client = new SoapClient("https://webtjener09.kred.no/TestWebservice/OppdragServiceSoapHttpPort?WSDL");
Run Code Online (Sandbox Code Playgroud)
给出错误:
PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://webtjener09.kred.no/TestWebservice/OppdragServiceSoapHttpPort?WSDL' : failed to load external entity "https://webtjener09.kred.no/TestWebservice/OppdragServiceSoapHttpPort?WSDL"
Run Code Online (Sandbox Code Playgroud)
我确实安装了openssl并使用PHP,并且记住我已经通过SSL对其他WSDL进行了其他工作的SOAP调用.我发现我无法解决这个问题,因为它已经在构造函数中失败了.
但是: 我尝试使用openssl命令行连接到远程服务器,此命令也失败了:
openssl s_client -connect webtjener09.kred.no:443 -state
Run Code Online (Sandbox Code Playgroud)
但后来我尝试将它强制转换为SSL3并且它完美地运行,如下所示:
openssl s_client -ssl3 -connect webtjener09.kred.no:443 -state
Run Code Online (Sandbox Code Playgroud)
这让我觉得我必须匹配远程服务器的SSL版本.要进行双重检查,我还尝试通过PHP建立cURL连接失败,直到我添加强制SSL版本,如下所示:
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
Run Code Online (Sandbox Code Playgroud)
将CURLOPT_SSLVERSION添加到cURL连接使其正常.然后是我的问题的根源:
如何强制PHP soap构造函数/调用也使用SSL3.在我看来,这必须是解决方案.但是我还没有找到如何将PHP SOAP函数设置为仅使用SSL3.既然命令行-openssl-和PHP cURL都强制使用SSL3,那么我认为我的SOAP函数会发生同样的事情?
输入,好吗?
(使用Ubuntu Linux,PHP 5.3.3)
我有这些页面:
information.php文件
<div id='content'>Foo Bar</div>
Run Code Online (Sandbox Code Playgroud)
main.php
<div id='main'></div>
<script type="text/javascript">
$(document).ready(function() {
$("#main").load("information.php");
$("#content").click(function() {
alert("Worked!");
});
</script>
Run Code Online (Sandbox Code Playgroud)
当我点击<div>with id=content,从中加载时information.php,没有任何反应.Chrome控制台也不会报告任何错误.如果我手动将content-div information.php放入我的main.php页面,一切正常.当我使用jQuery加载时为什么它不起作用?
jQuery主脚本加载在我在网站上完成的所有其他jQuery函数中.当我将另一个页面加载到我的主页面时,加载页面中的ID不起作用,或者某些行不活动.