2015-02-04 2 views
1

Я пытаюсь подключиться к веб-службе с помощью мыла-узла, но продолжаю получать ошибку «Невозможно прочитать свойство« Тело »неопределенного». Я считаю, что проблема заключается в том, что конверт SOAP, созданный узловым мылом, неверен и ему необходимо использовать ns1 вместо tns. Пожалуйста, смотрите конверт, порожденный РНР SoapClient, который успешно подключается к вебу-службе и узел-мылу Сгенерированного конверта ниже:Изменение SOAP Envelope XML Перед выполнением запроса

PHP

<SOAP-ENV:Body> 
     <ns1:IsHealthy/> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

Узел SOAP

<soap:Body> 
     <tns:IsHealthy xmlns:tns="http://tempuri.org/" xmlns="http://tempuri.org/"> 
     </tns:IsHealthy> 
    </soap:Body> 
</soap:Envelope> 

Есть ли настройки в сообщить мышь узла для использования ns1 или способ изменить конверт перед отправкой?

ответ

0

Во время создания клиента, можно передать параметр:

var options = { 
    envelopeKey:'soapenv', 
    xmlKey: 'sdm' 
    }; 
soap.createClient(url, options, function(err, client) { 

} 

Documentation

Смежные вопросы