Php 此/任何SOAP调用是否需要“allow\u url\u fopen”?
如果要执行如下SOAP调用,是否需要将“allow\u url\u fopen”设置为yes/on,请告诉我 如果有人想知道我为什么要这么做,我可以提供更多的信息,但在这个阶段我会尽量让问题简单,因为目前我正试图弄清楚我要做的事情是否需要“allow_url_fopen” 如果需要,请有人告诉我哪个部分特别需要“allow\u url\u fopen”部分,以及我如何使用其他类似cURL的东西来完成我在这里尝试的工作 提前谢谢各位Php 此/任何SOAP调用是否需要“allow\u url\u fopen”?,php,curl,soap,soap-client,Php,Curl,Soap,Soap Client,如果要执行如下SOAP调用,是否需要将“allow\u url\u fopen”设置为yes/on,请告诉我 如果有人想知道我为什么要这么做,我可以提供更多的信息,但在这个阶段我会尽量让问题简单,因为目前我正试图弄清楚我要做的事情是否需要“allow_url_fopen” 如果需要,请有人告诉我哪个部分特别需要“allow\u url\u fopen”部分,以及我如何使用其他类似cURL的东西来完成我在这里尝试的工作 提前谢谢各位 $username = 'xxxxxxx@xxxxxxx.com
$username = 'xxxxxxx@xxxxxxx.com';
$password = 'xxxxxxxx';
$profile_id = 'xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx';
$wsdl = 'https://pilot.id3global.com/ID3gWS/ID3global.svc?wsdl';
class clsWSSEAuth {
private $Username;
private $Password;
function __construct($username, $password) {
$this->Username=$username;
$this->Password=$password;
}
}
class clsWSSEToken {
private $UsernameToken;
function __construct ($UsernameToken) {
$this->UsernameToken = $UsernameToken;
}
}
$strWSSENS = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
//Auth
$objSoapVarUser = new SoapVar($username, XSD_STRING, NULL, $strWSSENS, NULL, $strWSSENS);
$objSoapVarPass = new SoapVar($password, XSD_STRING, NULL, $strWSSENS, NULL, $strWSSENS);
$objWSSEAuth = new clsWSSEAuth($objSoapVarUser, $objSoapVarPass);
//Token
$objSoapVarWSSEToken = new SoapVar($objWSSEAuth, SOAP_ENC_OBJECT, NULL, $strWSSENS, 'UsernameToken', $strWSSENS);
$objWSSEToken = new clsWSSEToken($objSoapVarWSSEToken);
//Header
$objSoapVarWSSEAuth = new SoapVar($objWSSEToken, SOAP_ENC_OBJECT, NULL, $strWSSENS, 'UsernameToken', $strWSSENS);
$objSoapVarHeaderVal = new SoapVar($objSoapVarWSSEAuth, SOAP_ENC_OBJECT, NULL, $strWSSENS, 'Security', $strWSSENS);
$objSoapVarWSSEHeader = new SoapHeader($strWSSENS, 'Security', $objSoapVarHeaderVal, true);
//Client
$client = new SoapClient($wsdl, array(
'soap_version' => SOAP_1_1,
'trace' => 1,
'exception' => true,
));
$client->__setSoapHeaders($objSoapVarWSSEHeader);
// Build data array to use for AML check
$data = array(xxxxxxxxxxxxx);
// Run the check
$applicant_1_aml = FALSE;
try {
$result = $client->AuthenticateSP(array(
'ProfileIDVersion' => array('ID' => $profile_id),
'InputData' => $data,
));
$applicant_1_aml = TRUE;
$applicant_1_band = $result->AuthenticateSPResult->BandText;
$applicant_1_score = $result->AuthenticateSPResult->Score;
} catch(Exception $e) {
throw $e;
//var_dump($e);
}
问一个显而易见的问题,你的代码目前运行吗?我很高兴你这么问,因为这是问题的一部分。它确实运行并成功运行了大约6个月。然后它突然停止工作,当尝试SOAP调用时,我得到一个500内部服务器错误。我可以从浏览器访问WSDL,所以这不是问题。他们最近是否实现了身份验证?好吧,也许吧,但是当我在本地机器上设置了一个完全相同的副本时,我能够成功地制作这些SOAP。这让我相信身份验证并没有被添加。当我说“精确副本”时,我指的是我在本地机器上运行的实时/生产站点的副本。SOAP调用正在那里工作,这让我相信身份验证最近还没有实现,因为我仍然可以在本地副本上执行SOAP调用。