[Ruby] Вопрос к знатокам SOAP, .NET/Mono remoting
Vladimir Zdorovenco
sunwinder на gmail.com
Ср Янв 26 04:30:18 MSK 2005
Привет
Пытаюсь подружить .NET/Mono и Ruby через SoapFormatter. Все безумно
просто, по крайней мере когда
сервер - .NET/Mono
А вот наоборот когда сервер на Ruby глюк. Пример простого запроса Ruby - Ruby:
// вырезал
<env:Body>
<n1:add xmlns:n1="urn:WeatherService"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<n xsi:type="xsd:int">1</n>
<m xsi:type="xsd:int">2</m>
</n1:add>
</env:Body>
</env:Envelope>
т.е <n1:add xmlns:n1="urn:WeatherService"...
когда же из Mono, то гад шлет:
// вырезал
<SOAP-ENV:Body>
<i2:add id="ref-1"
xmlns:i2="http://schemas.microsoft.com/clr/nsassem/WeatherService/client">
<n xsi:type="xsd:int">2</n>
<m xsi:type="xsd:int">3</m>
</i2:add>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
т.е <i2:add id="ref-1"
xmlns:i2="http://schemas.microsoft.com/clr/nsassem/WeatherService/client">
Отсюда вопрос, как думаете, это Mono глюк или Ruby ? А может и мой,
если я чего-то совсем недопонимаю пожалуйста поправьте =)
Пока решил как мог, коряво:
/usr/local/lib/ruby/1.8/soap/rpc/router.rb:149
def fqname(qname)
namespace = qname.namespace
qname.namespace =~ /schemas.microsoft.com\/clr\/nsassem\/(\w+)/
if $1
namespace = "urn:#{$1}"
end
"#{ namespace }:#{ qname.name }"
end
--
Be happy,
Vovka
ICQ: 127534289
Подробная информация о списке рассылки Ruby