Tengo problemas para construir el cliente de jabón usando savon en los raíles 3.1. Pero puedo obtener la respuesta con éxito cuando intento hacer la solicitud desde la línea de comando curl. Mi solicitud de rizo de línea de comandos se parece a estaRails 3.1 Solicitud de jabón Savon dando tiempo de espera :: Error: Tiempo de espera :: Error ut usando curl obtengo la respuesta
curl -d @Downloads/test.xml -H "content-type: text/xml;charset=UTF-8" -H "SOAPAction: http://services.bamnetworks.com/registration/identityPoint/create" "https://qaservices.bamnetworks.com/ws/services/IdentityPointService" -v
Desde que me dieron una respuesta perfecta como esta.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header /><soapenv:Body><identityPoint_create_response xmlns="http://services.bamnetworks.com/registration/types/1.6"><status><code>-2000</code><message> [Duplicate credential constraint violated] [com.bamnetworks.registration.types.exception.DuplicateCredentialException]</message><exceptionClass>com.bamnetworks.registration.types.exception.DuplicateCredentialException</exceptionClass>
Pero cuando intento hacer una solicitud del cliente Savon cada vez que estoy recibiendo el
HTTPI executes HTTP POST using the net_http adapter
Timeout::Error: Timeout::Error
Mi petición Savon este aspecto
client = Savon::Client.new do |wsdl, http|
http.auth.ssl.verify_mode = :none
wsdl.document = "https://qaservices.bamnetworks.com/ws/services/IdentityPointService?wsdl"
end
begin
response = client.request :ns, :identityPoint_create_request do |soap, wsdl, http|
http.headers['SOAPAction'] = 'http://services.bamnetworks.com/registration/identityPoint/create'
http.headers = { "Content-Length" => "0", "Connection" => "Keep-Alive" }
soap.namespaces["xmlns:ns0"]="http://services.bamnetworks.com/application/types/1.0"
soap.header = {
"ns0:appCredentials" => {
"ns0:name"=>"XXXXXXX",
"ns0:password"=>"XXXXXXXXX"
}
}
soap.body ={
:identification => {
:email => {
:address => "[email protected]"
},
:password => { :address => { :id => 44 } }
},
:profileProperty => {
:name => "birthDay",
:value => "17"
},
:profileProperty => {
:name => "birthMonth",
:value => "8"
},
:profileProperty => {
:name => "birthYear",
:value => "1986"
},
:attributes! => { :identification => { :type => "email-password" } }
}
end
yo no sé donde estoy cometiendo el error Si alguien me ayuda en esto para resolverlo. Gracias!
que han tratado de establecer el tiempo de espera a un número más grande? Es posible que desee examinar esta pregunta http://stackoverflow.com/questions/6384230/how-to-set-savon-default-timeout-value –