我已经在AX中完成了Web服务设置。现在,我想使用该Web服务来在PHP门户中显示客户。请查看下面的代码。
$soapUrl = "http://example.com/MicrosoftDynamicsAXAif50/woocommerceservice.svc?wsdl";
$soapUser = "xxxxxxxxxxxxxxxxx";
$soapPassword = "xxxxxxxx";
$xml_post_string = '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<CallContext xmlns="http://schemas.microsoft.com/dynamics/2010/01/datacontracts">
<Company>001</Company>
<Language>en-us</Language>
</CallContext>
</s:Header>
<s:Body>
<WooCommerceServiceReadRequest xmlns="http://tempuri.org">
<EntityKeyList xmlns = "http://schemas.microsoft.com/dynamics/2006/02/documents/EntityKeyList">
</EntityKeyList>
</WooCommerceServiceReadRequest>
</s:Body>
</s:Envelope>';
$headers = array(
"Content-type: text/xml;charset=\"utf-8\"",
"Accept: text/xml",
"Cache-Control: no-cache",
"Pragma: no-cache",
"SOAPAction: http://tempuri.org/WooCommerceService/read",
"Content-length: ".strlen($xml_post_string),
);
$url = $soapUrl;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $soapUser.":".$soapPassword);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
if (curl_error($ch)) {
$error_msg = curl_error($ch);
}
curl_close($ch);
print_r($response);
它返回“ Original001”。请检查并提出建议。
谢谢。