php - 如何在 PHP 中使用 NAV Dynamics WS?
问题描述
我需要将 Navision 连接到我的 PHP 应用程序。我尝试使用我在论坛中阅读过的不同方式,但它们都不起作用。我不知道我是否应该使用 SOAP、cURL 或其他,有人可以指导我吗?
编辑:
我已经尝试了以下代码,它也不起作用。
$opts = array(
'http' => array(
'user_agent' => 'PHPSoapClient'
)
);
$context = stream_context_create($opts);
$client = new SoapClient('http://URL:7047/DynamicsNAV/WS/COMPANY/Page/mypage?wsdl/', ['trace' => 1, 'cache_wsdl' => WSDL_CACHE_NONE, 'stream_context' => $context ,'user_agent' => 'USERAG', 'soap_version' => SOAP_1_2]);
$security = array(
'UserName' => array(
'UserName'=>'COMPANY\MYUSER',
'Password'=>'mypass',
)
);
$client->__getLastResponse();
$header = new SoapHeader('ChannelFactory','Credentials',$security, false);
$client->__setSoapHeaders($header);
$checkVatParameters = array(
'level' => '01');
$result = $client->checkVat($checkVatParameters);
print_r($result);
try {
$ret = $client->getAllItm();
print_r($ret);
}catch(Exception $e){
echo $e->getMessage();
}
致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR:解析 WSDL:无法从 myurl 加载
解决方案
$.soap({
url: "http://url:7047/DynamicsNAV/WS/COMPANY/Page/ws_myws",
data: {
user: "user",
pass: "pass"
},
dataType: "jsonp",
jsonpCallback: "jsonp_callback",
crossDomain: true,
HTTPHeaders: {
'Content-Type': 'application/xml',
'Server-Protocol':'SOAP'
},
success: function (response){
response = $.format(response.toString(), {method: 'xml' });
$("#output").text(response);
}
})
回复:http://url/WS/COMPANY/Page/ws_myws net::ERR_CONNECTION_TIMED_OUT
推荐阅读
- amazon-web-services - 任何 SSL 证书都适用于节点
- jenkins - 如何在 Groovy 的反斜杠中嵌入值时更新 JSON 有效负载
- java - 如何测试 JFrame 大小的变化?
- visual-studio-code - 我怎样才能关闭它?VS 代码
- discord.py - 是否可以检测用户何时更改其用户名(不是昵称)并在完成后向特定频道发送消息?
- html - 如何设置影子根兄弟的样式?
- python - 为什么我无法使用 django 下载我的文档?怎么做?
- python - 验证准确率低,在 Keras 中微调准确率高
- scala - Scala 解析器组合器如何处理空格?
- nuxt.js - index.js SyntaxError 中的 Nuxtjs