好的,所以我试图让内置的PHP SoapClient连接到.Net ASMX Web服务。服务器需要SoapClient支持的基本身份验证,所以看起来非常简单。
我在客户端完全工作,所以我无法访问服务器代码本身,但通过浏览我的浏览器中的页面并输入用户/密码,它们都显示正确。
这是我当前的PHP(减去网址,用户和传递):
<?php
$ini = ini_set("soap.wsdl_cache_enabled","0");
$url = 'https://<blah blah>.asmx?WSDL';
$options = array(
'login' => "<user>",
'password' => "<pass>"
);
$client = new SoapClient($url, $options);
var_dump($client->__getFunctions());
?>
再次,看起来非常直截了当。但是,此始终会返回“内部服务器错误”
服务器遇到内部错误或配置错误,无法完成您的请求。“没有提供其他详细信息,我的错误日志为空。我甚至尝试将代码包装在try{} catch{}
块中,但它仍然只是吐出只要它碰到new SoapClient
行就会出现同样的错误。
此外,使用“http://soap.amazon.com/schemas3/AmazonWebServices.wsdl”来测试我的脚本似乎有效(无需验证)。
有什么我想念的吗?因为我似乎无法让它发挥作用。