<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>xiaohuihui</title>
    <link>https://ruby-china.org/xiaohuihui</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>ruby 调用 WebService 用的是 https 的链接，如何解决证书的问题</title>
      <description>&lt;p&gt;于公司用的是 ruby 1.8.7 的版本，现在要对接其他公司的 WebService，并且对方采用的是 https 协议，&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'soap/wsdlDriver'&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'soap/rpc/driver'&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'soap/wsdlDriver'&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'soap/mapping/wsdlencodedregistry'&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'soap/mapping/mapping'&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'soap/mapping/registry'&lt;/span&gt;

      &lt;span class="n"&gt;wsdl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'https://192.168.1.106:1234/services/WSInterface?wsdl'&lt;/span&gt;
    &lt;span class="n"&gt;driver&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;SOAP&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;WSDLDriverFactory&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="n"&gt;wsdl&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;create_rpc_driver&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后会报这样子的错误：&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;warning&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;peer&lt;/span&gt; &lt;span class="nx"&gt;certificate&lt;/span&gt; &lt;span class="nx"&gt;won&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;t be verified in this SSL session
ignored attr: {http://schemas.xmlsoap.org/ws/2004/09/policy}PolicyURIs
ignored attr: {http://www.w3.org/2006/05/addressing/wsdl}Action
ignored element: {http://www.w3.org/2006/05/addressing/wsdl}UsingAddressing
ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}binding
ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}operation
ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}body
ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}fault
ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}address
ignored element: {http://schemas.xmlsoap.org/ws/2004/09/policy}Policy
C:/Ruby187/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:158:in `documentdefinedtype&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;part&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;parameters&lt;/span&gt; &lt;span class="nx"&gt;cannot&lt;/span&gt; &lt;span class="nx"&gt;be&lt;/span&gt; &lt;span class="nf"&gt;resolved &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;RuntimeError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;Ruby187&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;1.8&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;wsdl&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;soap&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;methodDefCreator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="s2"&gt;`collect_documentparameter'
        from C:/Ruby187/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:68:in `&lt;/span&gt;&lt;span class="nx"&gt;each&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;
        from C:/Ruby187/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:68:in `collect_documentparameter&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
        &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;Ruby187&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;1.8&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;soap&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;wsdlDriver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;132&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="s2"&gt;`create_param_def'
        from C:/Ruby187/lib/ruby/1.8/soap/wsdlDriver.rb:101:in `&lt;/span&gt;&lt;span class="nx"&gt;add_operation&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;
        from C:/Ruby187/lib/ruby/1.8/xsd/namedelements.rb:58:in `each&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
        &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;Ruby187&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;1.8&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;xsd&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;namedelements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;57&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="s2"&gt;`each'
        from C:/Ruby187/lib/ruby/1.8/soap/wsdlDriver.rb:96:in `&lt;/span&gt;&lt;span class="nx"&gt;add_operation&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;
        from C:/Ruby187/lib/ruby/1.8/soap/wsdlDriver.rb:40:in `create_rpc_driver&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
        &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;his_webservice&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;38&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="s2"&gt;`get_dept_arr'
        from his_webservice.rb:48
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果采用 http 协议的话：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;    &lt;span class="n"&gt;qqcode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"15445600"&lt;/span&gt;
&lt;span class="n"&gt;wsdl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl'&lt;/span&gt;
&lt;span class="c1"&gt;## 获得web对象&lt;/span&gt;
&lt;span class="n"&gt;driver&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;SOAP&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;WSDLDriverFactory&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="n"&gt;wsdl&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;create_rpc_driver&lt;/span&gt;
&lt;span class="c1"&gt;### 调用对象的方法&lt;/span&gt;
&lt;span class="n"&gt;ds&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;driver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;qqCheckOnline&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:qqCode&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;qqcode&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这种调用是可以实际返回结果的
现在变为 https，不知道如何加入这个 ssl 认证，有没有高手指点一下，感谢&lt;/p&gt;</description>
      <author>xiaohuihui</author>
      <pubDate>Wed, 01 Sep 2021 12:50:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/41641</link>
      <guid>https://ruby-china.org/topics/41641</guid>
    </item>
    <item>
      <title>北京 30 岁的初级程序员想找一份工作</title>
      <description>&lt;p&gt;大家好，我是北京一家公司的程序员，说是程序员，其实工作范围包括：扫地，与客户讨论需求，写代码，软件实施，接口开发，后期维护，招聘、培训新人。&lt;/p&gt;

&lt;p&gt;我现在是这家公司服务的第七个年头，公司比较小，但是有自己的产品，可是每年一个项目，或者两年三个项目，刚好够公司的正常运行，每年领导都有规划，但是最终的结果却不理想，每年都信心十足，跟领导一块的打拼，公司却始终发展壮大不起来。现在的自己也开始焦虑，想着开始放弃这种状态，但是这么些年，虽然也在写代码，但是基本都是业务与逻辑代码，新技术使用的很少。（七年当中，由于一些原因，有一年是在别的互联网公司干过一年）&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;h3&gt;项目经验&lt;/h3&gt;&lt;h3&gt;&lt;/h3&gt;
1.管理系统

&lt;p&gt;软件环境：ruby1.8.7+rails2.2.3+mysql5.0&lt;/p&gt;

&lt;p&gt;现在的公司中，有三个不同的管理系统，最初开发完毕之后，负责后期的维护，新功能的开发&lt;/p&gt;

&lt;p&gt;2.虚恋 app，****app&lt;/p&gt;

&lt;p&gt;软件环境：ruby2.14+rails4.14+mongodb+redis&lt;/p&gt;

&lt;p&gt;这两个 app 是上边提到的，我在别的互联网公司参加的。其中，虚恋 app 是我跟另一个同事一块做的，该软件主要是一个为陌生人打造、为想通过聊天挣钱的聊天软件，为移动端提供 api。****app 只是做一些后期的维护，同时还有公众号，web 端的维护
这两个 app 是 2014 年的时候参加的，现在看到两款 app 都已经下架&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;h3&gt;自我介绍&lt;/h3&gt;&lt;h3&gt;&lt;/h3&gt;
最初学习的是 java，但是到现在的公司后就转了 ruby，喜欢学习新事物，工作心态稳定，可以长期在一个有发展空间，且稳定的平台发展

&lt;p&gt;初次发帖，有什么不对的地方，请大家关照，谢谢！！&lt;/p&gt;</description>
      <author>xiaohuihui</author>
      <pubDate>Thu, 25 Apr 2019 13:49:02 +0800</pubDate>
      <link>https://ruby-china.org/topics/38451</link>
      <guid>https://ruby-china.org/topics/38451</guid>
    </item>
  </channel>
</rss>
