Wicked
Новичок
Soap extension и NuSoap
Возникла проблема.
Имеется wsdl-файл с описанием удаленного сервиса.
Создаю 2 объекта: NuSoapClient (nusoap'овский класс переименовал, чтобы не было конфликта с экстеншном) и SoapClient. Загружаю в них эту wsdl-ку, делаю одинаковый запрос с одинаковыми аргументами. Ловлю передачи сниффером.
http://www.demakova.net/~slayer/as_is.html
Имхо в обоих случаях запрос выглядит нормально, и если я локальные имена нэймспэйсов заменяю на URI (надеюсь, я это делаю правильно), и убираю аттрибуты xmlns, то тела запросов получаются идентичными (http://www.demakova.net/~slayer/normalized.html).
Не подскажете, в чем может быть проблема, и как ее решить?
-~{}~ 07.12.06 16:07:
похоже, что wsdl кривая (только собираюсь в этом убедиться), и при этом nusoap немного занимается самодеятельностью. Меня наставили на пусть истинный, объяснив, что атрибут xmlns="" распространяется на детей, а в случае с <ns:tag xmlns:ns="..."> - не распространяется. Поэтому "нормализовать" нужно немного по-другому:
http://www.demakova.net/~slayer/normalized2.html
В результате, в случае с soapclient'ом и программой xmlspy аргументы запроса оставались без нэймспэйса, и для них возвращалась ошибка.
Возникла проблема.
Имеется wsdl-файл с описанием удаленного сервиса.
Создаю 2 объекта: NuSoapClient (nusoap'овский класс переименовал, чтобы не было конфликта с экстеншном) и SoapClient. Загружаю в них эту wsdl-ку, делаю одинаковый запрос с одинаковыми аргументами. Ловлю передачи сниффером.
http://www.demakova.net/~slayer/as_is.html
Имхо в обоих случаях запрос выглядит нормально, и если я локальные имена нэймспэйсов заменяю на URI (надеюсь, я это делаю правильно), и убираю аттрибуты xmlns, то тела запросов получаются идентичными (http://www.demakova.net/~slayer/normalized.html).
Не подскажете, в чем может быть проблема, и как ее решить?
-~{}~ 07.12.06 16:07:
похоже, что wsdl кривая (только собираюсь в этом убедиться), и при этом nusoap немного занимается самодеятельностью. Меня наставили на пусть истинный, объяснив, что атрибут xmlns="" распространяется на детей, а в случае с <ns:tag xmlns:ns="..."> - не распространяется. Поэтому "нормализовать" нужно немного по-другому:
http://www.demakova.net/~slayer/normalized2.html
В результате, в случае с soapclient'ом и программой xmlspy аргументы запроса оставались без нэймспэйса, и для них возвращалась ошибка.