2010-09-21 2 views
0

Мне нужно позвонить в веб-службу с моего классического веб-сайта ASP. Я снабжались URL и трех переменных от провайдера SOAP:Как передать параметры мылу в классическом asp

URL веб-службы: http://www.theirwebsite.co.uk/B2bservice.asmx Parameter1: CustID Parameter2: PWord параметр3: OrderNo

Так что я должен послать этот SOAP запрос с моего классического веб-сайта ASP вместе с значениями параметров (которые мне тоже были предоставлены), и он должен возвращать строку.

Я тестировал ответ SOAP с помощью soapclient.com, и, конечно, если я введу URL-адрес веб-службы и добавлю значения параметра, он вернет строку, как и следовало бы.

Проблема в том, что я просто не могу найти, как это сделать с классическим ASP! Я нашел множество примеров вызова SOAP-URL из классического ASP, но ни один из них не упоминает, как передавать параметры.

Может кто-нибудь, пожалуйста, покажет мне простую как возможную реализацию того, как я получаю строку возврата из этой веб-службы в ASP, передавая параметры в?

Большое спасибо за любую помощь.

+0

Как вы могли бы назвать услугу, если бы вы не проходили параметры? –

ответ

0

Я не знаю много о классическом ASP и не знаю, имеет ли он реализацию клиента SOAP, но если классический ASP позволяет отправлять HTTP POST с произвольным телом и произвольными заголовками HTTP, это должно быть возможно делать то, что вы хотите (несколько хакерским способом).

Просто введите POST-запрос со строгим кодом SOAP, за исключением ваших параметров. Убедитесь, что заголовки Content-Type и SOAPAction правы.

Если вы не знаете, как правильно создать достоверное сообщение SOAP и правильно установить заголовки, используйте инструмент, например http://web.progress.com/en/actional/actional-diagnostics.html, чтобы отправить тестовое сообщение, а затем используйте инструмент, например Fiddler, чтобы посмотреть, что было на самом деле отправлен, а затем жестко закодируйте его в своем приложении.

+0

Спасибо, есть, по-видимому, способ сделать это в классическом ASP, но он просто не работает: <% url = "http://www.webservice.co.uk/B2bservice.asmx?wsdl " множество XMLHTTP = CreateObject (" MSXML2.ServerXMLHTTP ") xmlhttp.open "GET", URL, ложные xmlhttp.setRequestHeader "Content-Type", "применение/х-WWW-форм-urlencoded" xmlhttp.send" Ccode = MyCode & Pword = MyPassword & OrderNo = 1234 " Response.write xmlhttp.responseText set xmlhttp = nothing %> – Dan

1

Dan, вы должны изменить GET для POST

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