Hello,
 What is the preferred way to consume .NET webservices in rails?  Currently
we have a file in the lib directory handling all this but I would like a
cleaner way to
 1 - have the services act more "model" like so we can access data
like
NETApi.get_users()
 2 - Allow the rails client to login only once, as logging in each time for
a request can be very slow on a very large wsdl file
 Any suggestions?  I am using soap4r now and it works fine but I think it
can be tidier.  Also logging in to the NET site on startup slows down
launching future rails instances.  Some sample below
module NETAPILibrary
 require ''soap/wsdlDriver''
 require ''soap/header/simplehandler''
 require ''uuid''
 class AutheticationHeaderHandler < SOAP::Header::SimpleHandler
     #The header is named "SecureHeader" in this web service.
     @@HEADER_NAME = ''AuthenticationHeader''
     def initialize(namespace, companyID, userID)
       super(XSD::QName.new(namespace, @@HEADER_NAME))
       @user_element = XSD::QName.new(namespace, ''CompanyId'')
       @password_element = XSD::QName.new(namespace, ''UserId'')
       @companyID, @userID = companyID, userID
     end
     def on_simple_outbound
       {@user_element => @companyID, @password_element => @userID}
     end
 end
 def bt_initialize
  $soap = SOAP::WSDLDriverFactory.new($BT_WSDL_URL).create_rpc_driver
  $soap.headerhandler <<
AutheticationHeaderHandler.new("http://testapi.com/",
$bt_rootid,$bt_user_id)
 end
 def bt_getmemberbyemail(email)
   res = $soap.GetMemberByEmail(:email => email)
   return res.getMemberByEmailResult.iD
 end
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---