Moveable Type API broken with Windows Live Writer
Reported by Nicolas Laplante | January 26th, 2009 @ 05:55 AM | in Typo 5.3
When adding a blog account from Windows Live Writer, selecting the Moveable Type API (as per 5.2's documentation) and specifying http://myhost/backend/xmlrpc as the api URL, I get Error 500.
The same blog configuration worked fine with 5.1.3.
Here is an excerpt from shovel-backend.log:
ActionWebService::Dispatcher::DispatcherError (Malformed SOAP or XML-RPC protocol message):
/vendor/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:71:in `new'
/vendor/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:71:in `dispatch_web_service_request'
/app/controllers/backend_controller.rb:19:in `api'
/app/controllers/backend_controller.rb:15:in `xmlrpc'
/vendor/rails/actionpack/lib/action_controller/base.rb:1253:in `send'
/vendor/rails/actionpack/lib/action_controller/base.rb:1253:in `perform_action_without_filters'
/vendor/rails/actionpack/lib/action_controller/filters.rb:617:in `call_filters'
/vendor/rails/actionpack/lib/action_controller/filters.rb:638:in `run_before_filters'
/vendor/rails/actionpack/lib/action_controller/filters.rb:206:in `call'
/vendor/rails/actionpack/lib/action_controller/filters.rb:206:in `around_proc'
/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in `call'
/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in `evaluate_method'
/vendor/rails/actionpack/lib/action_controller/filters.rb:184:in `call'
/vendor/rails/actionpack/lib/action_controller/filters.rb:635:in `run_before_filters'
/vendor/rails/actionpack/lib/action_controller/filters.rb:615:in `call_filters'
/vendor/rails/actionpack/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark'
/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/vendor/rails/actionpack/lib/action_controller/rescue.rb:136:in `perform_action_without_caching'
/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
/vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
/vendor/rails/actionpack/lib/action_controller/base.rb:524:in `send'
/vendor/rails/actionpack/lib/action_controller/base.rb:524:in `process_without_filters'
/vendor/rails/actionpack/lib/action_controller/filters.rb:606:in `process_without_session_management_support'
/vendor/rails/actionpack/lib/action_controller/session_management.rb:134:in`process'
/vendor/rails/actionpack/lib/action_controller/base.rb:392:in `process'
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:183:in `handle_request'
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_unlocked'
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:123:in `dispatch'
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:122:in `synchronize'
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:122:in `dispatch'
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:132:in `dispatch_cgi'
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:39:in `dispatch'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:76:in `process'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `process'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:159:in `process_client'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `each'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `process_client'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `initialize'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `new'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `initialize'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `new'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:282:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `each'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongre/command.rb:212:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
/usr/local/bin/mongrel_rails:19:in `load'
/usr/local/bin/mongrel_rails:19
Comments and changes to this ticket
-
Cyril Mougel January 26th, 2009 @ 07:56 AM
- → Tag changed from api backend to api backend moveable xmlrpc
can you paste the request generate. In this request, we can see the XML generate and all data send to Typo.
-

Nicolas Laplante January 26th, 2009 @ 02:16 PM
I'll install a network monitoring program to intercept the network traffic between Live Writer and Typo. I'll get back to you as soon as I get home tonight.
BTW, do you know of any useful program I could use? I found SoftX HTTP Debugger (http://www.softx.org/).
> -
Cyril Mougel January 26th, 2009 @ 04:07 PM
I ask no more information than production.log send to you.
-

Nicolas Laplante January 26th, 2009 @ 09:53 PM
Here's my production.log. I enabled the "debug" log level, so there should be some useless info before the actual error. I took the file right after the error, so it's at the end of the file (which is rather small anyway).
I hope you have the information you need.
-
Frédéric de Villamil January 27th, 2009 @ 05:51 PM
Output when using MarsEdit
Processing BackendController#xmlrpc (for ipaddress at 2009-01-27 16:44:02) [POST] Parameters: {"methodCall"=>{"methodName"=>"blogger.newPost", "params"=>{"param"=>[{"value"=>{"string"=>"long hash"}}, {"value"=>{"string"=>"1"}}, {"value"=>{"string"=>"myusername"}}, {"value"=>{"string"=>"mypassword"}}, {"value"=>{"string"=>"blog body"}}, {"value"=>{"boolean"=>"1"}}]}}} ActionWebService::Dispatcher::DispatcherError (Malformed SOAP or XML-RPC protocol message): /vendor/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:71:in `new' /vendor/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:71:in `dispatch_web_service_request' /app/controllers/backend_controller.rb:19:in `api' /app/controllers/backend_controller.rb:15:in `xmlrpc' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:in `send' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:in `perform_action_without_filters' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:617:in `call_filters' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:638:in `run_before_filters' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:206:in `call' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:206:in `around_proc' /home/d3wu/.gem/ruby/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:182:in `call' /home/d3wu/.gem/ruby/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:182:in `evaluate_method' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:184:in `call' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:635:in `run_before_filters' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:615:in `call_filters' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /opt/ruby-enterprise/lib/ruby/1.8/benchmark.rb:293:in `measure' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/rescue.rb:136:in `perform_action_without_caching' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/caching/sql_cache.rb:13:in `passenger_orig_perform_action' /home/d3wu/.gem/ruby/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache' /home/d3wu/.gem/ruby/1.8/gems/activerecord-2.2.2/lib/active_record/query_cache.rb:8:in `cache' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/caching/sql_cache.rb:12:in `passenger_orig_perform_action' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/request_handler.rb:53:in `perform_action' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:524:in `send' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:524:in `process_without_filters' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:606:in `process_without_session_management_support' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/session_management.rb:134:in `process' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:392:in `process' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:183:in `handle_request' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:110:in `dispatch_unlocked' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:123:in `dispatch' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:122:in `synchronize' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:122:in `dispatch' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:132:in `dispatch_cgi' /home/d3wu/.gem/ruby/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:39:in `dispatch' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/request_handler.rb:38:in `process_request' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_request_handler.rb:165:in `main_loop' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb:321:in `start_request_handler' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb:282:in `handle_spawn_application' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/utils.rb:163:in `safe_fork' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/utils.rb:161:in `fork' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/utils.rb:161:in `safe_fork' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb:280:in `handle_spawn_application' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/utils.rb:163:in `safe_fork' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/utils.rb:161:in `fork' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/utils.rb:161:in `safe_fork' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb:279:in `handle_spawn_application' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:317:in `__send__' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:317:in `main_loop' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:168:in `start_synchronously' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:135:in `start' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:112:in `fork' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:112:in `start' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb:179:in `start' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb:222:in `spawn_rails_application' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb:217:in `synchronize' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb:217:in `spawn_rails_application' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb:126:in `spawn_application' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb:251:in `handle_spawn_application' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:317:in `__send__' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:317:in `main_loop' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb:168:in `start_synchronously' /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.0.6/bin/passenger-spawn-server:46 -

Nicolas Laplante January 28th, 2009 @ 06:29 PM
This is the output from Flickr:
Processing BackendController#xmlrpc (for myIp at 2009-01-28 12:20:39) [POST] Parameters: {"methodCall"=>{"methodName"=>"metaWeblog.getUsersBlogs", "params" =>{"param"=>[{"value"=>{"string"=>"NO-APP-KEY"}},{"value"=>{"string"=>"myUser"}}, {"value"=>{"string"=>"myPassword"}}]}}}ActionWebService::Dispatcher::DispatcherError (Malformed SOAP or XML-RPC protocol message):
/vendor/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:71:in `new' /vendor/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:71:in `dispatch_web_service_request' /app/controllers/backend_controller.rb:19:in `api' /app/controllers/backend_controller.rb:15:in `xmlrpc' /vendor/rails/actionpack/lib/action_controller/base.rb:1253:in `send' /vendor/rails/actionpack/lib/action_controller/base.rb:1253:in `perform_action_without_filters' /vendor/rails/actionpack/lib/action_controller/filters.rb:617:in `call_filters' /vendor/rails/actionpack/lib/action_controller/filters.rb:638:in `run_before_filters' /vendor/rails/actionpack/lib/action_controller/filters.rb:206:in `call' /vendor/rails/actionpack/lib/action_controller/filters.rb:206:in `around_proc' /vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in `call' /vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in `evaluate_method' /vendor/rails/actionpack/lib/action_controller/filters.rb:184:in `call' /vendor/rails/actionpack/lib/action_controller/filters.rb:635:in `run_before_filters' /vendor/rails/actionpack/lib/action_controller/filters.rb:615:in `call_filters' /vendor/rails/actionpack/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark' /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /vendor/rails/actionpack/lib/action_controller/rescue.rb:136:in `perform_action_without_caching' /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action' /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache' /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache' /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action' /vendor/rails/actionpack/lib/action_controller/base.rb:524:in `send' /vendor/rails/actionpack/lib/action_controller/base.rb:524:in `process_without_filters' /vendor/rails/actionpack/lib/action_controller/filters.rb:606:in `process_without_session_management_support' /vendor/rails/actionpack/lib/action_controller/session_management.rb:134:in`process' /vendor/rails/actionpack/lib/action_controller/base.rb:392:in `process' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:183:in `handle_request' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_unlocked' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:123:in `dispatch' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:122:in `synchronize' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:122:in `dispatch' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:132:in `dispatch_cgi' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:39:in `dispatch' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:76:in `process' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `synchronize' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `process' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:159:in `process_client' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `each' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `process_client' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `initialize' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `new' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `initialize' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `new' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:282:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `each' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281 /usr/local/bin/mongrel_rails:19:in `load' /usr/local/bin/mongrel_rails:19Completed in 32ms (View: 0, DB: 1) | 500 Internal Server Error [http://nlaplante.com/backend/xmlrpc]
-

Nicolas Laplante February 4th, 2009 @ 12:10 AM
I just found this over the net. Seems to be related to Typo, but I don't know if it applies to this issue. And to top this, I don't understand a word of what's being discussed. Seems to be in Czech language or something similar.
-
Cyril Mougel February 4th, 2009 @ 12:47 AM
I saw this post after writing. I don't understand the polish too. But all change made are already push in Typo 5.2. Now it's outdated.
-

Nicolas Laplante February 4th, 2009 @ 03:19 AM
I just tried with BloGTK 1.1.
Using a local copy of Typo 5.2, I could connect, choose categories and post a blog article without problems.
When I try to connect to my real blog at http://nlaplante.com/ I always get an error message saying I should check my configuration.
I tried with the Blogger, Movable Type and MetaWebLog apis and I got the error each time. The logs said "Malformed SOAP or XML-RPC protocol message" in each case.
That means it can't even successfully retrieve stuff like user blogs, posted entries and categories.
I'm not Ruby-savvy enough to go and hack the code, but I found that the error is thrown because the ActionWebService module can't decode the request:
/vendor/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:48
begin ws_request = discover_web_service_request(request) rescue Exception => e exception = e end if ws_request ws_response = nil exception = nil bm = Benchmark.measure do begin ws_response = invoke_web_service_request(ws_request) rescue Exception => e exception = e end end log_request(ws_request, request.raw_post) if exception log_error(exception) unless logger.nil? send_web_service_error_response(ws_request, exception) else send_web_service_response(ws_response, bm.real) end else exception ||= DispatcherError.new("Malformed SOAP or XML-RPC protocol message") log_error(exception) unless logger.nil? send_web_service_error_response(ws_request, exception) endIt seems that discover_web_service_request(request) returns nil. I think this error should be attributed to ActionWebService. Is Typo 5.2 using the right version?
-

Nicolas Laplante February 4th, 2009 @ 03:23 AM
I just saw the version of actionwebservice in /vendor of Typo 5.2 is 2.1.0.
On my hosting server, here's what's installed:
-bash-3.2$ gem list actionwebservice *** LOCAL GEMS *** actionwebservice (1.2.6, 1.1.6) -bash-3.2$Could the server's old versions override the one in Typo?
-
Cyril Mougel February 4th, 2009 @ 08:40 AM
The actionwebservice in vendor override always the actionwebservice in gem.
If you want verify, put a little print in your actionWebservice vendor directory and see if this print is out.
-

Nicolas Laplante February 4th, 2009 @ 06:44 PM
Here's what Flickr is sending (got it by reading the html source of the blog configuration page):
<?xml version="1.0" encoding="utf-8"?> <methodCall> <methodName>metaWeblog.getUsersBlogs</methodName> <params> <param><value><string>NO-APP-KEY</string></value></param> <param><value><string>nlaplante</string></value></param> <param><value><string>b2hn51ls</string></value></param> </params> </methodCall>response: Internal protocol error: Exception raisedThat seems like a basic XML-RPC message request... I really can't find the cause of the problem.
-

Jamie Penney February 19th, 2009 @ 02:55 AM
I am also having this problem. Does it have anything to do with the problem outlined on this page? http://lists.rubyonrails.org/pip...
I don't know a lot of ruby so I can't test this out. I can't even find the definition of the method that is failing - discover_web_service_request(request).
Does XMLRPC work on anyone else's blog?
-

John Maenpaa February 19th, 2009 @ 03:37 AM
I believe it has something to do with the backlevel actionwebservice. I was able to get past this by adding these lines (from the more current source tree and I upgraded will_paginate to 2.3.7) to my typo-5.2 gem and installing the gems. I didn't do a lot of testing, but it resolved this issue.
# Declare needed (github) gems config.gem 'datanoise-actionwebservice', :version => '2.2.2', :lib => 'actionwebservice', :source => 'http://gems.github.com' config.gem 'mislav-will_paginate', :version => '2.3.7', :lib => 'will_paginate', :source => 'http://gems.github.com' -

Jamie Penney February 19th, 2009 @ 04:26 AM
Sorry if this is a basic question, but which file in my typo directory would I put those lines in? Or do I have to modify the Typo gem itself and reinstall it?
-

John Maenpaa February 19th, 2009 @ 06:36 AM
Sorry forgot. Yes. Put those lines into config/environment.rb of the typo-5.2 gem, then run the typo command to install/update. At least that is the way I did it. I'd think you could change your blog's version and get the same effect. I didn't do it that way as I needed to update multiple blogs.
You can see the source at http://github.com/fdv/typo/blob/...
-

Jamie Penney February 19th, 2009 @ 07:23 AM
I put those two lines in my config/environment.rb in the config section and it works perfectly! Thank you so much.
-
Cyril Mougel February 19th, 2009 @ 10:10 AM
Thanks for your report. I go update will_paginate gem in master branch.
But nicolas can test this fix and report here if his issue fixed. before fixed this issue ?
-
Cyril Mougel February 19th, 2009 @ 10:13 AM
http://github.com/fdv/typo/commi...
the commit about this update of gem
-

-

Nicolas Laplante February 19th, 2009 @ 06:34 PM
Well, couldn't wait until tonight. I tested using Flickr, as I don't have Windows Live Writer installed here.
It worked fine. I'll test and confirm with Live Writer tonight.
Notice that I just added the lines to my existing environment.rb, ran "rake gems:install" and restarted my app.
-
Frédéric de Villamil February 19th, 2009 @ 09:06 PM
- → State changed from new to resolved
So, I consider this ticket as closed since the fix was backported in the master branch.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
Being around since March 2005, Typo is (probably) the oldest blogging platform in Rails. It has a full set of feature you would expect from such an engine, powerful SEO capabilities and full themes and plugin extension
