我需要从 php 连接到 SOAP 服务器,我阅读了很多文档、示例和教程,但我仍然无法对我的服务器进行身份验证。我已经完成了以下工作:
$agencyNumber = 7818619810;
$fullTransmission = false;
//$context = array('header' => 'Content-type: application/soap+xml; charset=utf-8');
$params = array( 'agencyNumber' => 7818619810, 'fullTransmission' => 0/*,$context*/);
$client = new SoapClient("http://link/to/server?wsdl");
$test = $client->__getFunctions();
var_dump($test );// returns the functions my supplier provides, as well __getTypes() gives a bunch of variable arrays ect..
$response = $client->__soapCall('GetTransmissionTicket',array($params) );//line 16 which is mentioned on error print
var_dump($response);
即使我设置$context
了,当我尝试运行时,我也会收到以下错误:
致命错误:未捕获的 SoapFault 异常:[HTTP] 无法处理消息,因为内容类型为 'text/xml; charset=utf-8' 不是预期的类型 'application/soap+xml; 字符集=utf-8'。在 C:\xampp\htdocs\xml\inc\connection_test.php:16 堆栈跟踪:#0 [内部函数]:SoapClient->__doRequest('http://interfac...', '..//my- provider...', 1, 0) #1 C:..path..test.php(16): SoapClient->__soapCall('GetTransmission...', Array) #2 {main} 在 C: 中抛出。第 16 行的 .path..test.php
我试图调用的远程方法被调用GetTransmissionTicket
,它接受两个参数,(int)agencyNumber
和fullTransmission
(bool)..
我想强调一下,关于这个主题有很多线程,其中一些非常接近我的问题(1、2、3等等.. ),但我真的无法解决问题。请帮忙..亲切的问候..