2013-12-02 3 views
1

Я пытаюсь обернуть новый веб-сервис ASMX .net, чтобы его можно было использовать старым классическим приложением asp. Для этого я нашел код для отправки мыльных запросов. Однако в моем тестировании кажется, что ни один из моих параметров не достигает сервера.ASMX webserive не получает параметры из классического запроса мыла ASP.

Тестовый сервер Код

<WebMethod()> _ 
    Public Function Ping1(str As String) 
     If str <> "" Then 
      Return str 
     Else 
      Return "False" 
     End If 
    End Function 

XML-отправки:

<?xml version="1.0" encoding="utf-8"?> 
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
    <soap12:Body> 
    <Ping1 xmlns="http://tempuri.org"> 
     <str>asdf</str> 
    </Ping1> 
    </soap12:Body> 
</soap12:Envelope> 

страница постоянно возвращается «False», но, насколько я могу судить, это должно быть правильным форматом для отправки параметры. Любая помощь будет оценена по достоинству.

+0

Вы также установили правильные заголовки, как показано [здесь] (http://stackoverflow.com/q/1079356/447356)? Если да, попробуйте изменить пространство имен с 'tempuri.org' на что-то другое. –

+0

То, что сделал трюк, просто не мог использовать tempuri, теперь как я могу поставить вопрос как ответ: -/(первый пост) – user3037203

+0

Вы можете отметить ответ как принято, просто добавили его. –

ответ

0

Как показано в this other question вы должны установить соответствующие заголовки потребляя услуги:

oXmlHTTP.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8" 
oXmlHTTP.setRequestHeader "SOAPAction", "http://ourNameSpace/Ping1" 

Обратите внимание, что вы не можете использовать tempuri.org пространство имен, вы должны также установить собственное пространство имен.

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