Я пытался создать составной URL для использования в SOAPAction
POST с использованием php curl.
Я столкнулся с интересной проблемой с API-интерфейсом SOAP, к которому я пытаюсь получить доступ.
Если я использую массив httpheaders как:
$header = array(
"Content-Type: text/xml",
"SOAPAction: http://tempuri.org/IProductsService/getProduct"
);
У меня нет проблем. Это проходит, и ответ - точно, что я ожидал
Однако, если я использую это так:
$A = "ProductsService";
$B = "getProduct";
$soapAction = "SOAPAction: http://tempuri.org/I" . $A . "/" . $B;
$headerTest = array(
"Content-Type: text/xml",
$soapAction
);
Это не работает. (да, я на действиях мыла мне нужно использовать)
Я пробовал разные способы сделать это. С действием мыла в массиве, без действия мыла в массиве. Синтетически в PHP это правильно. Однако я продолжаю получать ответ от аппликации "ActionNotSupported"
. Он говорит, что не может быть обработан из-за contractFilter mismatch at the endpointDispatcher
.
Кто-нибудь знает почему? И что я могу делать не так?