Можно ли использовать ASP для вызова PHP soap?


У моего клиента есть веб-сервис PHP, который они хотят, чтобы я использовал. Он основан на PHP, в то время как мой веб основан на ASP.

Код ASP выглядит следующим образом:

Dim soapclient

WSDL_URL = "http://xxx.xxxx.xx/index.php?Action=service"

set soapclient = Server.CreateObject("MSSOAP.SoapClient30")

soapclient.ClientProperty("ServerHTTPRequest") = True

При ошибке возобновить следующий

Soapclient.mssoapinit ошибка WSDL_URL здесь

Может ли ASP вызывать soap-сервис на основе PHP?

Или

Что я должен настроить?

Большое спасибо!

Author: Joel Coehoorn, 2009-02-26

4 answers

Весь смысл веб-сервисов и SOAP заключается в том, что не имеет значения, на каком языке реализована служба и на каком оборудовании и операционной системе она работает.

Либо в веб-службе есть ошибка, либо (что более вероятно) вы неправильно ее вызываете.

 7
Author: Michael Borgwardt, 2009-02-26 10:22:19

Я не знаю ASP, я знаю PHP, но у вас не должно возникнуть проблем с доступом к веб-сервисам PHP с любого другого языка, просто потому, что формат связи - XML. Оба приложения будут взаимодействовать с использованием третьего, промежуточного языка: XML. Все должно быть хорошо.

 1
Author: Ionuț G. Stan, 2009-02-26 10:10:49

Мы находим способ решить этот вопрос, не используя "MSSOAP.SoapClient30" для запроса веб-службы, а "Msxml2.ServerXMLHTTP.4.0".

Пример кода, подобный этому:

Url= "http://xxx.xxx.xx/xxx.php"

Soaprequest="версия xml="&CHR(34)&"1.0"&CHR(34)&"кодировка="&CHR(34)&"utf-8"&CHR(34)&"?>" "http://www.w3.org/2001/XMLSchema-instance "&CHR(34)&" xmlns:xsd="и CHR(34)&"http://www.w3.org/2001/XMLSchema "&CHR(34)&" xmlns:soap="&CHR(34)&"http://schemas.xmlsoap.org/soap/envelope/"&CHR(34)&">"

Установите xmlhttp = сервер.Создать объект ("Msxml2.ServerXMLHTTP.4.0")

Xmlhttp.Открыть "СООБЩЕНИЕ", URL, false

Xmlhttp.setRequestHeader "Тип содержимого", "текст/xml;кодировка=utf-8"

Xmlhttp.Задающий запрос "Длина содержимого", LEN(soaprequest)

Xmlhttp.Отправить(soaprequest)

Ответ.Напишите xmlhttp.responseText

Установить xmlhttp = Ничего

 1
Author: March, 2009-02-26 10:59:49

Для начала вам следует удалить "при следующей ошибке возобновить", чтобы вы могли видеть (и публиковать) полученную ошибку.

 0
Author: SkippyFlipjack, 2009-02-26 12:55:03