Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Problem with soap4r+httpclient from within a jar.

Reply
Thread Tools

Problem with soap4r+httpclient from within a jar.

 
 
Brian Wallace
Guest
Posts: n/a
 
      09-19-2009
[Note: parts of this message were removed to make it a legal post.]

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

 
Reply With Quote
 
 
 
 
Brian Wallace
Guest
Posts: n/a
 
      09-20-2009
[Note: parts of this message were removed to make it a legal post.]

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.

On Sat, Sep 19, 2009 at 12:55 AM, Brian Wallace <(E-Mail Removed)> wrote:

> 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
>
>


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
dealing with nested xml within nested xml within...... Ultrus Python 3 07-09-2007 09:00 PM
GetElementbyID question - within MasterPage/contentpage - within tables Elmo Watson ASP .Net 1 05-08-2007 05:12 PM
How do I include a server tag within a javascript parameter which is itself within a HTML element event? mark4asp ASP .Net 2 11-07-2006 06:23 AM
Referring to a textbox within a web control within an aspx KatB ASP .Net 0 04-22-2005 07:14 PM
search within a search within a search - looking for better way...my script times out Abby Lee ASP General 5 08-02-2004 04:01 PM



Advertisments