Как использовать мыло в JavaScript - PullRequest
1 голос
/ 05 апреля 2010

Я пытаюсь использовать SOAP в javascript, но не понимаю, как его запустить. Вот пример кода, который я пишу на PHP, и он отлично работает. Я хочу написать этот код в Javascript. В следующем коде я вызываю один API с www.example.com, и для вызова определенного API нам необходимо передать некоторые параметры.

    $soapClient = new SoapClient("https://www.example.com/WSDL");     
    $param_sh = array( ); 
    $header = new SoapHeader('http://somesite.com/action/', 'user_credential', $param_sh); 
    $soapClient->__setSoapHeaders(array($header)) 
    $param = array("with some parameter");
    $contents = $soapClient->__call("name_of_method",array($param)); 

    print($contents);  

Ответы [ 3 ]

4 голосов
/ 17 декабря 2015

Теперь, спустя более 5 лет после того, как этот вопрос был задан, с Javascript и сетью в целом произошло много всего, поэтому:

  • вы можете отправлять запросы из разных источников, и современные браузеры на 100% согласны с этим (если сервер, на который вы их отправляете, конечно, поддерживает CORS)

  • существует множество библиотек как для server , так и client side javascript.

  • Есть много вопросов по теме StackOverflow .

3 голосов
/ 05 апреля 2010

JavaScript не имеет библиотеки SOAP из коробки, хотя вы можете найти их в Google, например, здесь . Не то чтобы это ничего не сделало, чтобы обойти ограничения, цитируемые Аланом. Веб-сервисы все еще должны быть на исходном сервере.

3 голосов
/ 05 апреля 2010

Если вы говорите о Javascript в браузере, вы не сможете использовать SOAP. Браузеры соблюдают то, что называется «Политика единого происхождения», которая говорит (свободно), что вы не можете делать междоменные запросы из javascript. Это означает, что вы можете отправлять запросы службе SOAP (или любому HTTP-запросу) только в том случае, если она находится в том же домене, на котором в настоящий момент находится страница браузера. Из-за этого ограничения / возможности никто никогда не сталкивался с большими трудностями при реализации SOAP-клиента в Javascript (хотя они, вероятно, существуют).

Лучше всего делать SOAP-вызовы через PHP, а затем отправлять запросы AJAX с веб-страницы (через javascript) на страницы PHP, которые выполняют фактический SOAP-запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...