# Problem with soap4r+httpclient from within a jar

**URL:** <https://www.ruby-forum.com/t/problem-with-soap4r-httpclient-from-within-a-jar/175766>\
**Category:** Ruby\
**Created:** [September 19, 2009, 7:03am UTC](https://www.ruby-forum.com/t/problem-with-soap4r-httpclient-from-within-a-jar/175766 "2009-09-19T07:03:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![brianwisti](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/fbc32d/32.png) [@brianwisti](https://www.ruby-forum.com/u/brianwisti)\
**Post date:** [September 19, 2009, 7:03am UTC](https://www.ruby-forum.com/t/problem-with-soap4r-httpclient-from-within-a-jar/175766/1 "2009-09-19T07:03:58Z")

</div>

Hi all,

I’m attempting to package up my JRuby soap4r client application into a  
jar,  
but I’m not having much luck getting it working. I’ve tried using both  
rawr  
and Netbeans to build the jar but I get the same results.

I have the soap4r and httpclient gems inside the jruby-complete.jar… I  
put  
the gems here:

\META-INF\jruby.home\lib\ruby\gems\1.8\gems\httpclient-2.1.5.2\

The problem seems to be with the httpclient gem. Its failing when it  
reads  
in the cacert.p7s file. I’ve verified that the file is there, and  
everything  
works fine when its not running from a jar. I believe I can use  
“net/http”  
as the client, but I’m hoping I wont have to.

Has anyone successfully wrapped a soap4r client into a jar? See the  
stack  
trace below …

file:/C:/Users/dev/Documents/NetBeansProjects/Java and  
Ruby/dist/lib/jruby-c  
omplete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/httpclient-2.1.5.2/lib/h  
ttpclient/ssl\_config.rb:149:in `set_trust_ca': file not found: file:\C:\Users\ dev\Documents\NetBeansProjects\Java and Ruby\dist\lib\jruby-complete.jar!\META -INF\jruby.home\lib\ruby\gems\1.8\gems\httpclient-2.1.5.2\lib\httpclient\cacert. p7s (The filename, directory name, or volume label syntax is incorrect) (OpenSSL ::X509::StoreError) from file:/C:/Users/dev/Documents/NetBeansProjects/Java and Ruby/dis t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/httpclient- 2.1.5.2/lib/httpclient/ssl_config.rb:353:in`load\_cacerts’  
from file:/C:/Users/dev/Documents/NetBeansProjects/Java and  
Ruby/dis  
t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/httpclient-  
2.1.5.2/lib/httpclient/ssl\_config.rb:342:in `each' from file:/C:/Users/dev/Documents/NetBeansProjects/Java and Ruby/dis t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/httpclient- 2.1.5.2/lib/httpclient/ssl_config.rb:342:in`load\_cacerts’  
from file:/C:/Users/dev/Documents/NetBeansProjects/Java and  
Ruby/dis  
t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/httpclient-  
2.1.5.2/lib/httpclient/ssl\_config.rb:85:in `initialize' from file:/C:/Users/dev/Documents/NetBeansProjects/Java and Ruby/dis t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/httpclient- 2.1.5.2/lib/httpclient.rb:353:in`initialize’  
from file:/C:/Users/dev/Documents/NetBeansProjects/Java and  
Ruby/dis  
t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/soap4r-1.5.  
8/lib/wsdl/xmlSchema/importer.rb:66:in `fetch' from file:/C:/Users/dev/Documents/NetBeansProjects/Java and Ruby/dis t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/soap4r-1.5. 8/lib/wsdl/xmlSchema/importer.rb:36:in`import’  
from file:/C:/Users/dev/Documents/NetBeansProjects/Java and  
Ruby/dis  
t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/soap4r-1.5.  
8/lib/wsdl/importer.rb:18:in `import' from file:/C:/Users/dev/Documents/NetBeansProjects/Java and Ruby/dis t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/soap4r-1.5. 8/lib/soap/wsdlDriver.rb:146:in`import’  
from file:/C:/Users/dev/Documents/NetBeansProjects/Java and  
Ruby/dis  
t/lib/jruby-complete.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/soap4r-1.5.  
8/lib/soap/wsdlDriver.rb:32:in `initialize' from file:/C:/Users/dev/Documents/NetBeansProjects/Java and Ruby/dis t/Java_and_Ruby.jar!/scripts/ap.rb:58:in`get\_wsdl’  
from file:/C:/Users/dev/Documents/NetBeansProjects/Java and  
Ruby/dis  
t/Java\_and\_Ruby.jar!/scripts/ap.rb:331  
from file:/C:/Users/dev/Documents/NetBeansProjects/Java and  
Ruby/dis  
t/Java\_and\_Ruby.jar!/scripts/ap.rb:1:in `require’  
from -e:1

Thanks,

Brian

---

<div class="post-metadata">

**Author:** ![brianwisti](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/fbc32d/32.png) [@brianwisti](https://www.ruby-forum.com/u/brianwisti)\
**Post date:** [September 20, 2009, 6:14am UTC](https://www.ruby-forum.com/t/problem-with-soap4r-httpclient-from-within-a-jar/175766/2 "2009-09-20T06:14:05Z")

</div>

Ok, I believe I’ve tracked this bug down a bit more (I’m still a newbie  
…  
but a persistent one 🙂 )

It appears as though the recently added JRuby  
“OpenSSL::X509::Store#add\_file” method doesn’t work with file URL’s ,  
which  
are obviously used when referencing files from within a jar. (See  
JRuby-3692  
for the add\_file patch). I’ve reproduced the issue in irb.

I guess I should log a bug on JRuby’s jira site … since I couldn’t  
write  
code in Java to save my life.
