[PATCH] ActionWebService and Dot NET

I hate dot NET, but sadly I spent an entire day interfacing with it.
To make a long story short, to get my Rails application talking to a
dot NET webservice properly, I needed to slightly hijack
ActionWebService::Client::Soap.

I’ve included a patch to
rails/actionwebservice/lib/action_web_service/client/soap_client.rb
which helped me deal with dot NET. It’d be great if someone with
write access to Rails svn could commit this, or otherwise propose a
better way to accomplish what I’m doing with ActionWebService.

Basically what this does is allow you to do something like this:

client = ActionWebService::Client::Soap.new(GmClickToCallApi,
http://someurl/Service.asmx’,
:namespace => ‘http://some_namespace/’, :soap_action_base =>
“http://some_namespace”,
:driver_options => { ‘protocol.wiredump_file_base’ =>
“/Users/bosko/FOO_BAR” },
:driver_attributes => { ‘default_encodingstyle’ =>
SOAP::EncodingStyle::ASPDotNetHandler::Namespace,
‘allow_unqualified_element’ => true})

The key thing to observe is the new “driver_attributes” option. This
is similar to “driver_options”, but different – see the patch for
how/why. There is no current way (before patch) to send attribute
assignment messages to the underlying SOAP Driver in
AWS::Client::Soap. This lets you do just that.

Note also that in the above code snippet, I use the
“protocol.wiredump_file_base” option as well; it wouldn’t hurt if this
particular option was also documented in AWS::Client::Soap (it’s not
in the patch I submit, but perhaps it should be in a separate one).

Cheers,

Bosko M. [email protected]
http://www.crowdedweb.com/

Your best bet will be to follow the instructions @
http://dev.rubyonrails.org/wiki and submit a patch ticket to have it
reviewed for inclusion.

John W Higgins
[email protected]

On 9/13/06, Bosko M. [email protected] wrote:

I’ve included a patch to