For some time now I try to get my code working. This Monday I switched to RJS (first with 1.0 + plugin) and yesterday to Edge Rails, so I guess I''ve been using the most recent version. I have a div with id="detail" which I want to update with a partial. If I''m using page.replace_html the content will be replaced with text, i.e. the javascript won''t become evaluated (all RJS statements for this action are visible, not just the one). Using page.replace instead results in correct display, but the div tag is lost then, so I can''t do further updates. Quote from the changelog for actionpack: Use Element.update(''id'', ''html'') instead of $(''id'').innerHTML = ''html'' in JavaScriptGenerator#replace_html so that script tags are evaluated. TIA - Bernd -- Posted via http://www.ruby-forum.com/.
I had somewhat similar issue: RJS results were not evaluated but were simply shown on the page. The reason was: I forgot to have <%= javascript_include_tag :defaults %> in my layout or view file. Hope it helps. -- Posted via http://www.ruby-forum.com/.
> I forgot to have <%= javascript_include_tag :defaults %> in my layout or view file.Hi Sergei, thanks for the answer. Unfortunatly that''s not the reason. I do have the above statement in my layout. And page.replace / page.hide work fine (except for the fact that replace_html is eating the div id too as described above). I guess the problem is either related to - the wrong content type problem described in http://nubyonrails.topfunky.com/articles/2006/02/01/rjs-and-content-type-header and elsewhere (but I think I''m handling this correctly) - the recent change (see changelog) - some option I''m not aware of BTW - my prototype.js version is 1.5.0_pre0 Thanks! - Bernd -- Posted via http://www.ruby-forum.com/.
Martin Bernd Schmeil wrote:> BTW - my prototype.js version is 1.5.0_pre0 > > Thanks! - BerndI upgraded myself to use Scriptaculous 1.5.3 (this includes upgrades to prototype.js and other js files as well). There is an important enhancement in there for "evalScripts" support for RJS. http://script.aculo.us/downloads -- Regards, Lori http://blog.dragonsharp.com -- Posted via http://www.ruby-forum.com/.
Martin, Sounds like your approach is correct... Can you post your .rjs code? Maybe your question will become clearer if I can see the code you''re trying to write. Jeff www.softiesonrails.com -- Posted via http://www.ruby-forum.com/.
Hi Jeff, I tried a lot of different ways. In the current version I have eliminated the .rjs files completly and call the page methods directly in the controller (i.e. inline). I also tried render and now render_to_string. Here''s the current code (let me know if you need further pieces): controller (action): def update_detail @object = Class.instance_eval(params[:klazz]).find(params[:object_id]) detail = render_to_string :partial => "detail", :object => @object render :update do |page| page.replace_html ''cmpdetail'', detail page.replace_html ''update_reject'', link_to_action("update_reject", @object) end end The update_detail action feeds the detail view with an object (klazz.id) picked from one of two lists for different classes. It also updates a link to reject this object (here the update with replace_html works repeatedly). class ApplicationController < ActionController::Base after_filter :set_charset def set_charset #@headers["Content-Type"] ||= "text/html; charset=iso-8859-1" #content_type = @headers["Content-Type"] #@headers["Content-Type"] = "#{content_type}; charset=iso-8859-1" content_type = @headers["Content-Type"] || ''text/html'' if /^text\//.match(content_type) @headers["Content-Type"] = "#{content_type}; charset=iso-8859-1" end end end As I said, the page.replace works perfect, except for consuming the div with the id, thus preventing the whole thing from being updateable again. Thanks! - Bernd -- Posted via http://www.ruby-forum.com/.
All, I am attempting connect ROR to a remote web service and I am having no luck. Below is the WSDL from this service. Here is the API definition: class WeblogicTesterApi < ActionWebService::API::Base api_method :findStringLength, :expects => [{:str => :string}], :returns => [:int] end And my test controller class WeblogicWebServiceTesterController < ApplicationController web_client_api :weblogicTester, :soap, ''http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws'', :handler_name => ''weblogicTester'' def findStringLength len = weblogicTester.FindStringLength(''Ron'') end end When I run, I get the following: Processing WeblogicWebServiceTesterController#findStringLength (for 127.0.0.1 at 2006-03-22 12:51:12) [GET] Parameters: {"action"=>"findStringLength", "controller"=>"weblogic_web_service_tester"} SOAP::FaultError ( Could not resolve method with element ''urn:ActionWebService:FindStringLength'' as top element. ): #<SOAP::Mapping::Object:0x391eaa0> And on the web service side I see the following: <Mar 22, 2006 12:51:12 PM EST> <Warning> <WLW> <000000> <Returning HTTP 500 due to SOAP fault occurring on DispFile=com.captech.ruby.ReverseRubyWebService> Is there any way to dump the SOAP message before it leaves so I can see the request? any thoughts on what is going wrong? BTW...I can get a remote web service to connect in fine to ROR, just not the other way around...yet. Ron <?xml version="1.0" encoding="utf-8"?> <!-- @editor-info:link autogen="true" source="ReverseRubyWebService.jws" --> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.openuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.openuri.org/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://www.openuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema"> <s:element name="findStringLength"> <s:complexType> <s:sequence> <s:element name="str" type="s:string" minOccurs="0"/> </s:sequence> </s:complexType> </s:element> <s:element name="findStringLengthResponse"> <s:complexType> <s:sequence> <s:element name="findStringLengthResult" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="int" type="s:int"/> </s:schema> </types> <message name="findStringLengthSoapIn"> <part name="parameters" element="s0:findStringLength"/> </message> <message name="findStringLengthSoapOut"> <part name="parameters" element="s0:findStringLengthResponse"/> </message> <message name="findStringLengthHttpGetIn"> <part name="str" type="s:string"/> </message> <message name="findStringLengthHttpGetOut"> <part name="Body" element="s0:int"/> </message> <message name="findStringLengthHttpPostIn"> <part name="str" type="s:string"/> </message> <message name="findStringLengthHttpPostOut"> <part name="Body" element="s0:int"/> </message> <portType name="ReverseRubyWebServiceSoap"> <operation name="findStringLength"> <input message="s0:findStringLengthSoapIn"/> <output message="s0:findStringLengthSoapOut"/> </operation> </portType> <portType name="ReverseRubyWebServiceHttpGet"> <operation name="findStringLength"> <input message="s0:findStringLengthHttpGetIn"/> <output message="s0:findStringLengthHttpGetOut"/> </operation> </portType> <portType name="ReverseRubyWebServiceHttpPost"> <operation name="findStringLength"> <input message="s0:findStringLengthHttpPostIn"/> <output message="s0:findStringLengthHttpPostOut"/> </operation> </portType> <binding name="ReverseRubyWebServiceSoap" type="s0:ReverseRubyWebServiceSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="findStringLength"> <soap:operation soapAction="http://www.openuri.org/findStringLength" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <binding name="ReverseRubyWebServiceHttpGet" type="s0:ReverseRubyWebServiceHttpGet"> <http:binding verb="GET"/> <operation name="findStringLength"> <http:operation location="/findStringLength"/> <input> <http:urlEncoded/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> </binding> <binding name="ReverseRubyWebServiceHttpPost" type="s0:ReverseRubyWebServiceHttpPost"> <http:binding verb="POST"/> <operation name="findStringLength"> <http:operation location="/findStringLength"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> </binding> <service name="ReverseRubyWebService"> <port name="ReverseRubyWebServiceSoap" binding="s0:ReverseRubyWebServiceSoap"> <soap:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> <port name="ReverseRubyWebServiceHttpGet" binding="s0:ReverseRubyWebServiceHttpGet"> <http:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> <port name="ReverseRubyWebServiceHttpPost" binding="s0:ReverseRubyWebServiceHttpPost"> <http:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> </service> </definitions> -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/ms-tnef Size: 11192 bytes Desc: not available Url : http://wrath.rubyonrails.org/pipermail/rails/attachments/20060322/74d99fa6/attachment-0001.bin
I see at least part of the problem, here is the request from rails: <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <n1:FindStringLength env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:n1="urn:ActionWebService"> <str xsi:type="xsd:string">Ron</str> </n1:FindStringLength> </env:Body> </env:Envelope> And here is the same request from <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <FindStringLength xmlns="http://www.openuri.org/"> <str>string</str> </FindStringLength> </SOAP-ENV:Body> </SOAP-ENV:Envelope> So for some reason ActionWebservice is putting its own namespace on the request and it s puking on the server side. Why might it be doing that and I can I prevent that from happening? Ron ________________________________ From: rails-bounces@lists.rubyonrails.org on behalf of Ron DiFrango Sent: Wed 3/22/2006 1:15 PM To: rails@lists.rubyonrails.org Subject: Webserivce problems All, I am attempting connect ROR to a remote web service and I am having no luck. Below is the WSDL from this service. Here is the API definition: class WeblogicTesterApi < ActionWebService::API::Base api_method :findStringLength, :expects => [{:str => :string}], :returns => [:int] end And my test controller class WeblogicWebServiceTesterController < ApplicationController web_client_api :weblogicTester, :soap, ''http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws'', :handler_name => ''weblogicTester'' def findStringLength len = weblogicTester.FindStringLength(''Ron'') end end When I run, I get the following: Processing WeblogicWebServiceTesterController#findStringLength (for 127.0.0.1 at 2006-03-22 12:51:12) [GET] Parameters: {"action"=>"findStringLength", "controller"=>"weblogic_web_service_tester"} SOAP::FaultError ( Could not resolve method with element ''urn:ActionWebService:FindStringLength'' as top element. ): #<SOAP::Mapping::Object:0x391eaa0> And on the web service side I see the following: <Mar 22, 2006 12:51:12 PM EST> <Warning> <WLW> <000000> <Returning HTTP 500 due to SOAP fault occurring on DispFile=com.captech.ruby.ReverseRubyWebService> Is there any way to dump the SOAP message before it leaves so I can see the request? any thoughts on what is going wrong? BTW...I can get a remote web service to connect in fine to ROR, just not the other way around...yet. Ron <?xml version="1.0" encoding="utf-8"?> <!-- @editor-info:link autogen="true" source="ReverseRubyWebService.jws" --> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.openuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.openuri.org/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://www.openuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema"> <s:element name="findStringLength"> <s:complexType> <s:sequence> <s:element name="str" type="s:string" minOccurs="0"/> </s:sequence> </s:complexType> </s:element> <s:element name="findStringLengthResponse"> <s:complexType> <s:sequence> <s:element name="findStringLengthResult" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="int" type="s:int"/> </s:schema> </types> <message name="findStringLengthSoapIn"> <part name="parameters" element="s0:findStringLength"/> </message> <message name="findStringLengthSoapOut"> <part name="parameters" element="s0:findStringLengthResponse"/> </message> <message name="findStringLengthHttpGetIn"> <part name="str" type="s:string"/> </message> <message name="findStringLengthHttpGetOut"> <part name="Body" element="s0:int"/> </message> <message name="findStringLengthHttpPostIn"> <part name="str" type="s:string"/> </message> <message name="findStringLengthHttpPostOut"> <part name="Body" element="s0:int"/> </message> <portType name="ReverseRubyWebServiceSoap"> <operation name="findStringLength"> <input message="s0:findStringLengthSoapIn"/> <output message="s0:findStringLengthSoapOut"/> </operation> </portType> <portType name="ReverseRubyWebServiceHttpGet"> <operation name="findStringLength"> <input message="s0:findStringLengthHttpGetIn"/> <output message="s0:findStringLengthHttpGetOut"/> </operation> </portType> <portType name="ReverseRubyWebServiceHttpPost"> <operation name="findStringLength"> <input message="s0:findStringLengthHttpPostIn"/> <output message="s0:findStringLengthHttpPostOut"/> </operation> </portType> <binding name="ReverseRubyWebServiceSoap" type="s0:ReverseRubyWebServiceSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="findStringLength"> <soap:operation soapAction="http://www.openuri.org/findStringLength" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <binding name="ReverseRubyWebServiceHttpGet" type="s0:ReverseRubyWebServiceHttpGet"> <http:binding verb="GET"/> <operation name="findStringLength"> <http:operation location="/findStringLength"/> <input> <http:urlEncoded/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> </binding> <binding name="ReverseRubyWebServiceHttpPost" type="s0:ReverseRubyWebServiceHttpPost"> <http:binding verb="POST"/> <operation name="findStringLength"> <http:operation location="/findStringLength"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> </binding> <service name="ReverseRubyWebService"> <port name="ReverseRubyWebServiceSoap" binding="s0:ReverseRubyWebServiceSoap"> <soap:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> <port name="ReverseRubyWebServiceHttpGet" binding="s0:ReverseRubyWebServiceHttpGet"> <http:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> <port name="ReverseRubyWebServiceHttpPost" binding="s0:ReverseRubyWebServiceHttpPost"> <http:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> </service> </definitions>
OK, I have gotten it closer now by adding a name space declaration as follows: class WeblogicWebServiceTesterController < ApplicationController web_client_api :reverseRubyWebService, :soap, ''http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws'', :handler_name => ''ReverseRubyWebService'', :namespace => ''http://www.openuri.org/'' def findStringLength len = reverseRubyWebService.FindStringLength(''Ron'') end end this produces: <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <n1:FindStringLength env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:n1="http://www.openuri.org/"> <str xsi:type="xsd:string">Ron</str> </n1:FindStringLength> </env:Body> </env:Envelope> But what is missing is the n1:str why is it not adding the name space stuff to the required elements? Ron ________________________________ From: rails-bounces@lists.rubyonrails.org on behalf of Ron DiFrango Sent: Wed 3/22/2006 1:26 PM To: rails@lists.rubyonrails.org; rails@lists.rubyonrails.org Subject: [Rails] RE: Webserivce problems I see at least part of the problem, here is the request from rails: <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <n1:FindStringLength env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:n1="urn:ActionWebService"> <str xsi:type="xsd:string">Ron</str> </n1:FindStringLength> </env:Body> </env:Envelope> And here is the same request from <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <FindStringLength xmlns="http://www.openuri.org/"> <str>string</str> </FindStringLength> </SOAP-ENV:Body> </SOAP-ENV:Envelope> So for some reason ActionWebservice is putting its own namespace on the request and it s puking on the server side. Why might it be doing that and I can I prevent that from happening? Ron ________________________________ From: rails-bounces@lists.rubyonrails.org on behalf of Ron DiFrango Sent: Wed 3/22/2006 1:15 PM To: rails@lists.rubyonrails.org Subject: Webserivce problems All, I am attempting connect ROR to a remote web service and I am having no luck. Below is the WSDL from this service. Here is the API definition: class WeblogicTesterApi < ActionWebService::API::Base api_method :findStringLength, :expects => [{:str => :string}], :returns => [:int] end And my test controller class WeblogicWebServiceTesterController < ApplicationController web_client_api :weblogicTester, :soap, ''http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws'', :handler_name => ''weblogicTester'' def findStringLength len = weblogicTester.FindStringLength(''Ron'') end end When I run, I get the following: Processing WeblogicWebServiceTesterController#findStringLength (for 127.0.0.1 at 2006-03-22 12:51:12) [GET] Parameters: {"action"=>"findStringLength", "controller"=>"weblogic_web_service_tester"} SOAP::FaultError ( Could not resolve method with element ''urn:ActionWebService:FindStringLength'' as top element. ): #<SOAP::Mapping::Object:0x391eaa0> And on the web service side I see the following: <Mar 22, 2006 12:51:12 PM EST> <Warning> <WLW> <000000> <Returning HTTP 500 due to SOAP fault occurring on DispFile=com.captech.ruby.ReverseRubyWebService> Is there any way to dump the SOAP message before it leaves so I can see the request? any thoughts on what is going wrong? BTW...I can get a remote web service to connect in fine to ROR, just not the other way around...yet. Ron <?xml version="1.0" encoding="utf-8"?> <!-- @editor-info:link autogen="true" source="ReverseRubyWebService.jws" --> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.openuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.openuri.org/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://www.openuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema"> <s:element name="findStringLength"> <s:complexType> <s:sequence> <s:element name="str" type="s:string" minOccurs="0"/> </s:sequence> </s:complexType> </s:element> <s:element name="findStringLengthResponse"> <s:complexType> <s:sequence> <s:element name="findStringLengthResult" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="int" type="s:int"/> </s:schema> </types> <message name="findStringLengthSoapIn"> <part name="parameters" element="s0:findStringLength"/> </message> <message name="findStringLengthSoapOut"> <part name="parameters" element="s0:findStringLengthResponse"/> </message> <message name="findStringLengthHttpGetIn"> <part name="str" type="s:string"/> </message> <message name="findStringLengthHttpGetOut"> <part name="Body" element="s0:int"/> </message> <message name="findStringLengthHttpPostIn"> <part name="str" type="s:string"/> </message> <message name="findStringLengthHttpPostOut"> <part name="Body" element="s0:int"/> </message> <portType name="ReverseRubyWebServiceSoap"> <operation name="findStringLength"> <input message="s0:findStringLengthSoapIn"/> <output message="s0:findStringLengthSoapOut"/> </operation> </portType> <portType name="ReverseRubyWebServiceHttpGet"> <operation name="findStringLength"> <input message="s0:findStringLengthHttpGetIn"/> <output message="s0:findStringLengthHttpGetOut"/> </operation> </portType> <portType name="ReverseRubyWebServiceHttpPost"> <operation name="findStringLength"> <input message="s0:findStringLengthHttpPostIn"/> <output message="s0:findStringLengthHttpPostOut"/> </operation> </portType> <binding name="ReverseRubyWebServiceSoap" type="s0:ReverseRubyWebServiceSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="findStringLength"> <soap:operation soapAction="http://www.openuri.org/findStringLength" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <binding name="ReverseRubyWebServiceHttpGet" type="s0:ReverseRubyWebServiceHttpGet"> <http:binding verb="GET"/> <operation name="findStringLength"> <http:operation location="/findStringLength"/> <input> <http:urlEncoded/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> </binding> <binding name="ReverseRubyWebServiceHttpPost" type="s0:ReverseRubyWebServiceHttpPost"> <http:binding verb="POST"/> <operation name="findStringLength"> <http:operation location="/findStringLength"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> </binding> <service name="ReverseRubyWebService"> <port name="ReverseRubyWebServiceSoap" binding="s0:ReverseRubyWebServiceSoap"> <soap:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> <port name="ReverseRubyWebServiceHttpGet" binding="s0:ReverseRubyWebServiceHttpGet"> <http:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> <port name="ReverseRubyWebServiceHttpPost" binding="s0:ReverseRubyWebServiceHttpPost"> <http:address location="http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws"/> </port> </service> </definitions> _______________________________________________ Rails mailing list Rails@lists.rubyonrails.org http://lists.rubyonrails.org/mailman/listinfo/rails
Lori Olson wrote:> I upgraded myself to use Scriptaculous 1.5.3 (this includes upgrades to > prototype.js and other js files as well). There is an important > enhancement in there for "evalScripts" support for RJS. > > http://script.aculo.us/downloadsHi Lori, thanks a lot. I''ll check tomorrow and post here about the result. - Bernd -- Posted via http://www.ruby-forum.com/.
Martin, Are you maybe using the :update option on link_to_remote? You don''t want to use that option with RJS templates. On 3/22/06, Martin Bernd Schmeil <bschmeil@autoscout24.com> wrote:> Lori Olson wrote: > > > I upgraded myself to use Scriptaculous 1.5.3 (this includes upgrades to > > prototype.js and other js files as well). There is an important > > enhancement in there for "evalScripts" support for RJS. > > > > http://script.aculo.us/downloads > > Hi Lori, > > thanks a lot. I''ll check tomorrow and post here about the result. > > - Bernd > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-- Cody Fauser http://www.codyfauser.com
Don''t use web_client_api API in order to call third party web services, instead use soap4r directly. On 3/22/06, Ron DiFrango <rdifrango@captechventures.com> wrote:> > OK, I have gotten it closer now by adding a name space declaration as > follows: > > class WeblogicWebServiceTesterController < ApplicationController > web_client_api :reverseRubyWebService, :soap, '' > http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws'', > :handler_name => ''ReverseRubyWebService'', :namespace => '' > http://www.openuri.org/'' > > def findStringLength > len = reverseRubyWebService.FindStringLength(''Ron'') > end > end > > this produces: > > <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance"> > <env:Body> > <n1:FindStringLength env:encodingStyle=" > http://schemas.xmlsoap.org/soap/encoding/" xmlns:n1=" > http://www.openuri.org/"> > <str xsi:type="xsd:string">Ron</str> > </n1:FindStringLength> > </env:Body> > </env:Envelope> > > But what is missing is the n1:str why is it not adding the name space > stuff to the required elements? > > Ron > > ________________________________ > > From: rails-bounces@lists.rubyonrails.org on behalf of Ron DiFrango > Sent: Wed 3/22/2006 1:26 PM > To: rails@lists.rubyonrails.org; rails@lists.rubyonrails.org > Subject: [Rails] RE: Webserivce problems > > > > I see at least part of the problem, here is the request from rails: > > <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance"> > > <env:Body> > > <n1:FindStringLength env:encodingStyle=" > http://schemas.xmlsoap.org/soap/encoding/" > xmlns:n1="urn:ActionWebService"> > > <str xsi:type="xsd:string">Ron</str> > > </n1:FindStringLength> > > </env:Body> > > </env:Envelope> > > And here is the same request from > > <SOAP-ENV:Envelope xmlns:SOAP-ENC=" > http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV=" > http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" > http://www.w3.org/2001/XMLSchema" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance"> > > <SOAP-ENV:Body> > > <FindStringLength xmlns="http://www.openuri.org/"> > > <str>string</str> > > </FindStringLength> > > </SOAP-ENV:Body> > > </SOAP-ENV:Envelope> > > So for some reason ActionWebservice is putting its own namespace on the > request and it s puking on the server side. Why might it be doing that and > I can I prevent that from happening? > > Ron > > ________________________________ > > From: rails-bounces@lists.rubyonrails.org on behalf of Ron DiFrango > Sent: Wed 3/22/2006 1:15 PM > To: rails@lists.rubyonrails.org > Subject: Webserivce problems > > > > All, > > I am attempting connect ROR to a remote web service and I am having no > luck. Below is the WSDL from this service. > > Here is the API definition: > > class WeblogicTesterApi < ActionWebService::API::Base > api_method :findStringLength, :expects => [{:str => :string}], :returns > => [:int] > end > > > And my test controller > > class WeblogicWebServiceTesterController < ApplicationController > web_client_api :weblogicTester, :soap, '' > http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws'', > :handler_name => ''weblogicTester'' > > def findStringLength > len = weblogicTester.FindStringLength(''Ron'') > end > end > > > When I run, I get the following: > > Processing WeblogicWebServiceTesterController#findStringLength (for > 127.0.0.1 at 2006-03-22 12:51:12) [GET] > > Parameters: {"action"=>"findStringLength", > "controller"=>"weblogic_web_service_tester"} > > > > SOAP::FaultError ( > > Could not resolve method with element > ''urn:ActionWebService:FindStringLength'' as top element. > > ): > > #<SOAP::Mapping::Object:0x391eaa0> > > > > And on the web service side I see the following: > > <Mar 22, 2006 12:51:12 PM EST> <Warning> <WLW> <000000> <Returning HTTP > 500 due > to SOAP fault occurring on DispFile=com.captech.ruby.ReverseRubyWebService > > > > Is there any way to dump the SOAP message before it leaves so I can see > the request? any thoughts on what is going wrong? > > BTW...I can get a remote web service to connect in fine to ROR, just not > the other way around...yet. > > Ron > > > > <?xml version="1.0" encoding="utf-8"?> > <!-- @editor-info:link autogen="true" source="ReverseRubyWebService.jws" > --> > <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv=" > http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw=" > http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http=" > http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms=" > http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime=" > http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s=" > http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.openuri.org/" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc=" > http://schemas.xmlsoap.org/soap/encoding/" targetNamespace=" > http://www.openuri.org/"> > <types> > <s:schema elementFormDefault="qualified" targetNamespace=" > http://www.openuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema"> > <s:element name="findStringLength"> > <s:complexType> > <s:sequence> > <s:element name="str" type="s:string" minOccurs="0"/> > </s:sequence> > </s:complexType> > </s:element> > <s:element name="findStringLengthResponse"> > <s:complexType> > <s:sequence> > <s:element name="findStringLengthResult" type="s:int"/> > </s:sequence> > </s:complexType> > </s:element> > <s:element name="int" type="s:int"/> > </s:schema> > > </types> > <message name="findStringLengthSoapIn"> > <part name="parameters" element="s0:findStringLength"/> > </message> > <message name="findStringLengthSoapOut"> > <part name="parameters" element="s0:findStringLengthResponse"/> > </message> > <message name="findStringLengthHttpGetIn"> > <part name="str" type="s:string"/> > </message> > <message name="findStringLengthHttpGetOut"> > <part name="Body" element="s0:int"/> > </message> > <message name="findStringLengthHttpPostIn"> > <part name="str" type="s:string"/> > </message> > <message name="findStringLengthHttpPostOut"> > <part name="Body" element="s0:int"/> > </message> > <portType name="ReverseRubyWebServiceSoap"> > <operation name="findStringLength"> > <input message="s0:findStringLengthSoapIn"/> > <output message="s0:findStringLengthSoapOut"/> > </operation> > </portType> > <portType name="ReverseRubyWebServiceHttpGet"> > <operation name="findStringLength"> > <input message="s0:findStringLengthHttpGetIn"/> > <output message="s0:findStringLengthHttpGetOut"/> > </operation> > </portType> > <portType name="ReverseRubyWebServiceHttpPost"> > <operation name="findStringLength"> > <input message="s0:findStringLengthHttpPostIn"/> > <output message="s0:findStringLengthHttpPostOut"/> > </operation> > </portType> > <binding name="ReverseRubyWebServiceSoap" > type="s0:ReverseRubyWebServiceSoap"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > style="document"/> > <operation name="findStringLength"> > <soap:operation soapAction="http://www.openuri.org/findStringLength" > style="document"/> > <input> > <soap:body use="literal"/> > </input> > <output> > <soap:body use="literal"/> > </output> > </operation> > </binding> > <binding name="ReverseRubyWebServiceHttpGet" > type="s0:ReverseRubyWebServiceHttpGet"> > <http:binding verb="GET"/> > <operation name="findStringLength"> > <http:operation location="/findStringLength"/> > <input> > <http:urlEncoded/> > </input> > <output> > <mime:mimeXml part="Body"/> > </output> > </operation> > </binding> > <binding name="ReverseRubyWebServiceHttpPost" > type="s0:ReverseRubyWebServiceHttpPost"> > <http:binding verb="POST"/> > <operation name="findStringLength"> > <http:operation location="/findStringLength"/> > <input> > <mime:content type="application/x-www-form-urlencoded"/> > </input> > <output> > <mime:mimeXml part="Body"/> > </output> > </operation> > </binding> > <service name="ReverseRubyWebService"> > <port name="ReverseRubyWebServiceSoap" > binding="s0:ReverseRubyWebServiceSoap"> > <soap:address location=" > http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws > "/> > </port> > <port name="ReverseRubyWebServiceHttpGet" > binding="s0:ReverseRubyWebServiceHttpGet"> > <http:address location=" > http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws > "/> > </port> > <port name="ReverseRubyWebServiceHttpPost" > binding="s0:ReverseRubyWebServiceHttpPost"> > <http:address location=" > http://localhost:7001/RubyWebService/com/captech/ruby/ReverseRubyWebService.jws > "/> > </port> > </service> > </definitions> > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-- Kent --- http://www.datanoise.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060322/387ffd2c/attachment-0001.html
Martin Bernd Schmeil
2006-Mar-23 09:49 UTC
[Rails] Re: Re: RJS page.replace(_html) problems
> Are you maybe using the :update option on link_to_remote? You don''t > want to use that option with RJS templates.Hi Cody! Thanks a lot. You saved my life. Yes, that was the problem. Or in other words, the problem was copy & paste without understanding what''s going on behind the curtains. That forker kept me busy for hours. Again, thanks a lot, now I can continue coding... - Bernd -- Posted via http://www.ruby-forum.com/.