<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>xujianmin (Jimmy Xu)</title>
    <link>https://ruby-china.org/xujianmin</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>在阿里云上安装 Homeland 出错</title>
      <description>&lt;p&gt;按照 Homeland 的 docker 的安装步骤。&lt;/p&gt;

&lt;p&gt;docker 和 docker composer 通过自动脚本出错了。所以是用官网的方式来装的。info 一下是正常的。&lt;/p&gt;

&lt;p&gt;git clone 了安装的 repository。&lt;/p&gt;

&lt;p&gt;sudo make install 一开始正常，bundle 了 gem。&lt;/p&gt;

&lt;p&gt;---以上省略都是下载和安装，没有报错。---&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Uing exception-track 0.2.0
Using notifications 0.4.0
Using rails-settings-cached 0.6.5
Using rails_autolink 1.1.6
Using status-page 0.1.4
Using devise-encryptable 0.2.0
Bundle &lt;span class="nb"&gt;complete&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt; 77 Gemfile dependencies, 178 gems now installed.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;---至此感觉 gem 是都 bundle 好了---&lt;/p&gt;

&lt;p&gt;然后开始报了些 rails 5.0.1 的 depreciation。感觉应该没有大的问题。然后就报错了。&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb:138: warning: constant ::Fixnum is deprecated
Database &lt;span class="s1"&gt;'homeland'&lt;/span&gt; already exists
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;---虽有报错，至此应该是数据库也建好了。这是我第二次 sudo make install，存了输出到 log.txt。---&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated
/var/www/homeland/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb:138: warning: constant ::Fixnum is deprecated
rails aborted!
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;---至此，rails abort 了，不解。---&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Psych::SyntaxError: &lt;span class="o"&gt;(&lt;/span&gt;&amp;lt;unknown&amp;gt;&lt;span class="o"&gt;)&lt;/span&gt;: did not find expected key &lt;span class="k"&gt;while &lt;/span&gt;parsing a block mapping at line 47 column 3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;---是不是 app.local.env 中有些部分空了？另外，我的 App Name 用了“Jimmy's LegoLand”。这个引号会不会是问题？---&lt;/p&gt;

&lt;p&gt;以下还有些输出，我放在回帖里。方便大家阅读。&lt;/p&gt;

&lt;p&gt;先谢过给予帮助的同道。&lt;/p&gt;</description>
      <author>xujianmin</author>
      <pubDate>Sat, 11 Mar 2017 21:12:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/32507</link>
      <guid>https://ruby-china.org/topics/32507</guid>
    </item>
    <item>
      <title>Savon 2 传送 SOAP wsdl 出错</title>
      <description>&lt;p&gt;在 rails 的项目里链接合作方的 SOAP。对方使用的是 GBK 字符集。&lt;/p&gt;

&lt;p&gt;采用 builder 来构建 xml。特指了 GBK 作为 encoding。但是不太了解是否还有其他的设置需要（猜测是需要的，但是没有头绪。）&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;xml&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;instruct!&lt;/span&gt; &lt;span class="ss"&gt;:xml&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;version: &lt;/span&gt;&lt;span class="s2"&gt;"1.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;encoding: &lt;/span&gt;&lt;span class="s2"&gt;"GBK"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Send the xml via SOAP&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nc"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send_to_metlife&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fi&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="c1"&gt;# Connect to MetLife SOAP API via wsdl.&lt;/span&gt;
  &lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Savon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;wsdl: &lt;/span&gt;&lt;span class="s2"&gt;"http://XXXX-XXX.XXXX.com.cn/services/XXXXXXX?wsdl"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;msg&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;FreeInsurance&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;build_xml_of_free_insurance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fi&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;target!&lt;/span&gt;  &lt;span class="c1"&gt;# 写了个类方法来构建xml。其中和字符相关的语句在上面。那个target!是来解决一个cannot to array的错误的。&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'-----'&lt;/span&gt;  &lt;span class="c1"&gt;# 方便看log&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;msg&lt;/span&gt; &lt;span class="c1"&gt;# 方便看log&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'-----'&lt;/span&gt;  &lt;span class="c1"&gt;# 方便看log&lt;/span&gt;
  &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:do_request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;message: &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;运行后报错：&lt;/p&gt;

&lt;p&gt;(soapenv:Server.userException) org.xml.sax.SAXParseException: 不允许处理指令目标匹配“[xX][mM][lL]”。&lt;/p&gt;

&lt;p&gt;报错的语句是：&lt;/p&gt;

&lt;p&gt;response = client.call(:do_request, message: msg)&lt;/p&gt;

&lt;p&gt;猜测还是字符集的问题。求助。&lt;/p&gt;

&lt;p&gt;另外：有个疑惑是竟然报错是中文的。不得解啊~&lt;/p&gt;

&lt;p&gt;多谢！&lt;/p&gt;</description>
      <author>xujianmin</author>
      <pubDate>Sun, 23 Aug 2015 16:50:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/27043</link>
      <guid>https://ruby-china.org/topics/27043</guid>
    </item>
  </channel>
</rss>
