Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SOAP请求与Postman一起工作,而不是在PHP中_Php_Soap_Wsdl_Postman - Fatal编程技术网

SOAP请求与Postman一起工作,而不是在PHP中

SOAP请求与Postman一起工作,而不是在PHP中,php,soap,wsdl,postman,Php,Soap,Wsdl,Postman,我试图调用斯洛伐克邮政局通过SOAP提供的函数 他们在 我已经注册并成功地使用了他们的服务,创建了一个通过邮递员发送的XML。虽然我在PHP中使用时遇到了一个问题,但它总是返回一个错误,说明找不到用户,这是没有意义的(错误是SOAP-ENV:Server user\u not\u found) 在php中,我尝试这样称呼它(不起作用): 这是我的XML请求(不要介意注释,它只是解释了具体的值) 我应该如何使用PHPs soap客户端使其工作?您有错误的参数(auth节点应该包含userId和

我试图调用斯洛伐克邮政局通过SOAP提供的函数

他们在

我已经注册并成功地使用了他们的服务,创建了一个通过邮递员发送的XML。虽然我在PHP中使用时遇到了一个问题,但它总是返回一个错误,说明找不到用户,这是没有意义的(错误是SOAP-ENV:Server user\u not\u found)

在php中,我尝试这样称呼它(不起作用):

这是我的XML请求(不要介意注释,它只是解释了具体的值)


我应该如何使用PHPs soap客户端使其工作?

您有错误的参数(
auth
节点应该包含
userId
apiKey
)。请尝试以下操作:

$wsdl = 'https://mojezasielky.posta.sk/integration/webServices/api?wsdl';
$args = [
    'auth' => [
        'userId' => 'YOUR_SECRET_ID',
        'apiKey' => 'YOUR_SECRET_KEY',
    ],
    'EPH' => $ephString,
    'contract' => false,
];
$soap = new SoapClient($wsdl);
$response = $soap->importSheet($args);
另请参见和。

您有错误的参数(
auth
节点应包含
userId
apiKey
)。请尝试以下操作:

$wsdl = 'https://mojezasielky.posta.sk/integration/webServices/api?wsdl';
$args = [
    'auth' => [
        'userId' => 'YOUR_SECRET_ID',
        'apiKey' => 'YOUR_SECRET_KEY',
    ],
    'EPH' => $ephString,
    'contract' => false,
];
$soap = new SoapClient($wsdl);
$response = $soap->importSheet($args);

另请参见和。

您的
SoapClient
语法似乎正确;我将调查您遇到的错误:
服务器用户\u未找到
。确保您的登录信息正确?如果您查看XML,它显然与您在
$params
数组中传递的数据不一致。首先,您的
auth
参数在哪里?Samuel我确信登录信息是正确的,因为它在Postman中工作,而不是在PHP中@miken32一开始你似乎是对的,但当我编辑代码添加auth参数时,它抛出了另一个错误“SOAP-error:Encoding:object没有“auth”属性”,这真是奇怪你的
SoapClient
语法似乎是正确的;我将调查您遇到的错误:
服务器用户\u未找到
。确保您的登录信息正确?如果您查看XML,它显然与您在
$params
数组中传递的数据不一致。首先,您的
auth
参数在哪里?Samuel我确信登录信息是正确的,因为它在Postman中工作,而不是在PHP中@miken32一开始你似乎是对的,但当我编辑代码添加auth参数时,它抛出了另一个错误“SOAP-error:Encoding:object没有'auth'属性”,这真的很奇怪,很抱歉回答了这个老问题,但这是一个非常特定于本地的问题。目前我正在生成XML并手动将其上传到EPH web上。今天整个下午我都在努力使它与API一起工作,但我失败了。此代码的输出:请求:50CF838045753E060A000CDBD34DDF5303B0916F021731FDD0018995D15162EBC2533232017C0F63E82045True请求:5FFDFD1BBFF734D870A316B9所以我想我成功地发送了表单,但我在EPH web上找不到它。也许有人知道这里发生了什么。很抱歉回答这个老问题,但这是一个非常具体的问题。目前我正在生成XML并手动将其上传到EPH web上。今天整个下午我都在努力使它与API一起工作,但我失败了。此代码的输出:请求:50CF838045753E060A000CDBD34DDF5303B0916F021731FDD0018995D15162EBC2533232017C0F63E82045True请求:5FFDFD1BBFF734D870A316B9所以我想我成功地发送了表单,但我在EPH web上找不到它。也许有人知道这里发生了什么。
$wsdl = 'https://mojezasielky.posta.sk/integration/webServices/api?wsdl';
$args = [
    'auth' => [
        'userId' => 'YOUR_SECRET_ID',
        'apiKey' => 'YOUR_SECRET_KEY',
    ],
    'EPH' => $ephString,
    'contract' => false,
];
$soap = new SoapClient($wsdl);
$response = $soap->importSheet($args);