Использование WSDL с Ruby - PullRequest
       6

Использование WSDL с Ruby

2 голосов
/ 23 марта 2011

Я получаю эту ошибку:

WSDL::XMLSchema::Parser::UnknownElementError

unknown element: {}HTML
at 'new' 

при использовании веб-сервисов с использованием Ruby.Вот фрагмент кода:

require 'soap/wsdlDriver'

wsdl = url
driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
driver.options["protocol.http.basic_auth"] << [url, user_name, password]

URL-адрес указывает на правильно сформированный XML.

Есть ли решения?

Ответы [ 2 ]

2 голосов
/ 23 марта 2011

Можете ли вы поделиться wsdl файлом? Может быть, это поможет нам ответить лучше.
В любом случае, я бы предложил сначала создать классы драйверов, используя wsdl2ruby. И затем закодировать их в вашем файле Ruby (через require). Примеры (из справочных страниц):

# For server side:
$ wsdl2ruby.rb --wsdl myapp.wsdl --type server
# For client side:
$ wsdl2ruby.rb --wsdl myapp.wsdl --type client
0 голосов
/ 28 февраля 2012

Если вы загружаете URL-адрес в веб-браузер, перенаправляется ли он в другое место?

По моему опыту, одной из причин появления ошибки "unknown element: {} HTML" является синтаксический анализатор WSDLпытается проанализировать HTML-часть HTTP-перенаправления и не может это сделать.Следовательно, вам следует самостоятельно справиться с перенаправлением (в коде или вручную) и указать окончательный URL-адрес драйвера WSDL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...