От клиента
# SYNOPSIS
# linkInfo(requestHeader, linkInfoRequest)
#
# ARGS
# requestHeader RequestHeader - {urn:Map24Routing}RequestHeader
# linkInfoRequest LinkInfoRequest - {urn:Map24Routing}LinkInfoRequest
#
# RETURNS
# linkInfoResponse LinkInfoResponse - {urn:Map24Routing}LinkInfoResponse
#
requestHeader = linkInfoRequest = nil
puts obj.linkInfo(requestHeader, linkInfoRequest)
Из реестра Mapping
EncodedRegistry.register(
:class => RequestHeader,
:schema_type => XSD::QName.new(NsMap24Routing, "RequestHeader"),
:schema_element => [
["map24ID", ["SOAP::SOAPString", XSD::QName.new(NsMap24Routing, "Map24ID")], [0, 1]],
["clientID", ["SOAP::SOAPString", XSD::QName.new(NsMap24Routing, "ClientID")], [0, 1]],
["requestID", ["SOAP::SOAPString", XSD::QName.new(NsMap24Routing, "RequestID")], [0, 1]],
["authenticationKey", ["SOAP::SOAPString", XSD::QName.new(NsMap24Routing, "AuthenticationKey")], [0, 1]],
["customerHashtable", ["ArrayOfCustomerKeyValuePair", XSD::QName.new(NsMap24Routing, "CustomerHashtable")], [0, 1]]
]
)
EncodedRegistry.register(
:class => LinkInfoRequest,
:schema_type => XSD::QName.new(NsMap24Routing, "LinkInfoRequest"),
:schema_element => [
["coordinate", ["Coordinate", XSD::QName.new(NsMap24Routing, "Coordinate")], [0, 1]],
["maxRoadType", ["SOAP::SOAPInt", XSD::QName.new(NsMap24Routing, "MaxRoadType")], [0, 1]],
["requestProperties", ["ArrayOfRequestProperty", XSD::QName.new(NsMap24Routing, "RequestProperties")], [0, 1]],
["routingServiceID", ["SOAP::SOAPString", XSD::QName.new(NsMap24Routing, "RoutingServiceID")], [0, 1]]
]
)
Выполнение запроса / ответа
@client = Map24RoutingPortType.new
header = {:Map24ID => Map24Routing::MAP_24_ID}
request = {:Coordinate => {:Longitude => lng.to_f * 60, :Latitude => lat.to_f * 60}}
response = @client.linkInfo(header,request)
Я пробовал различные значения для заголовка и запроса и альтернативныемежду ошибками
SOAP :: Mapping :: MappingError (Невозможно сопоставить хэш с SOAP / OM.):
Неправильное количество агентов
и не может преобразовать хэш
Буду признателен за любую помощь, я не могу использовать savon, потому что я получаю ошибки httpi на производстве