Это может быть серьезной проблемой, связанной с Windows. Попробуйте это в командной строке Linux.
Вы также можете попробовать запустить его через PHP-CGI, а не только через CLI. Лично я использовал PHP в некоторых экзотических ситуациях, когда я передавал данные, и хотя данные казались идентичными, это было до тех пор, пока я не использовал работающую версию CGI (ее все еще можно вызвать из командной строки).
Может также случиться так, что в среде, когда вы работаете на веб-странице, и в среде, в которой вы работаете из интерфейса командной строки, есть что-то значительно отличающееся в том, что касается ваших потребностей. Например, когда PHP запускается из CLI, у вас есть доступ к системным переменным среды (в $ _SERVER). Тем не менее, они не там, когда внутри веб-страницы. Вы можете увидеть, есть ли разница в том, что отправляет cURL, получив окончательную копию запроса (и / или заголовков) в обеих средах, и сравнив их на уровне байтов. Это, вероятно, ваш лучший выбор.
Вы также можете попытаться включить действительный (или аналогичный) код SOAP, чтобы мы знали, о чем вы, собственно, говорите, а не слепо бросали дротики при возможных ответах.
(Если вам понравился этот ответ, примите его и проголосуйте за меня.)
Дастин