Giter VIP home page Giter VIP logo

soap4r's Introduction

About Me

Aloha, I'm Laurence Lee, a capable Linux Administrator and Software Developer with over 15 years of experience designing, deploying, and maintaining solutions on CentOS/RedHat/Fedora Linux. LAMP and MEAN Stacks done daily.

I am seeking a role to develop software, or alternatively a role to manage & maintain Linux Servers. I am open to leadership or "multi-hat" roles that come with additional maintenance responsibilities for Linux Servers, Cloud Applications, or DevOps procedures as needed.

Open to Work

In March of 2020, Hawaii went into harsh Lockdowns due to COVID19, which essentially destroyed Tourism-Dependent businesses such as Hotels, Transportation, and Restaurants. That economic decline in turn has halted or destroyed long-time businesses that I have served for years as my client base.

Relevant Skills

  • Coding Languages : Primary - Ruby, Python, TypeScript/JavaScript, Bash-Scripting Secondary - C#, Go, Java

  • Application Development : Customization, Installation, Maintenance, Backup & Restore

  • Automated & Remote Monitoring : Management, & Maintenance (SSH & Related Tools)

  • Certificate Management : CSRs, Public/Private Keys, and Certificates for SSH, SSL, & other 2FA uses

  • Cloud Email Administration : Google Workplace, Microsoft 365

  • Containerization (Docker, Docker-Compose, Kubernetes) & Virtualization (KVM, VMWare, QEmu)

  • Database Server Installation, Maintenance, Backup & Restore

  • Design & Planning - Solutions & Technical Architecture (Platform, Infrastructure, & Software Design)

  • General Troubleshooting : Network LAN/WAN Connectivity Issues, CDN Caches, Domain Registrar migrations, DNS, Remote-Blocked Ports

  • Linux O/S - Initial Installations, Incremental Security Updates ; Firewall Rules (FirewallD), Security (SELinux)

  • Platform Management โ€“ Background System Services (SystemD)

  • User Account Management (Identity & Access)

  • VPNs, Proxy-Services, & Tunnelling (OpenVPN, IPSEC, Nginx, SSH)

soap4r's People

Contributors

razum2um avatar rubyjedi avatar stefankatscher2357 avatar yoonchulkoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

soap4r's Issues

xsd -> xml

Hi,

after searching this (XML) topic related for Ruby I ended up at using this GEM as best for my use case. I have 3 specific .XSD files. Those files are all I have and I have to build signed XML from them. But somehow I ended up using xsd2ruby.rb just fine. That produced me 3 files full of classes. But now when I "play" with them to build some data and put everything into ruby objects... this is where I am stuck. I can't fingure it out how to transform this ruby Object into XML file (for start) ...and in a way that I would have tags labeled as they should be (according to xsd)

I would really appreciate your help since I am totally new to ruby and as it looks like... your gem is the one. :)

Best,
Tomaz

NoMethodError: undefined method `[]' for #<SOAP::Mapping::SchemaSequenceDefinition>

NoMethodError: undefined method []' for #<SOAP::Mapping::SchemaSequenceDefinition:0x7f794f030a50> /home/lalee/research/Soap4R.up/lib/soap/mapping/encodedregistry.rb:441:inarray2soap'
/home/lalee/research/Soap4R.up/lib/soap/mapping/encodedregistry.rb:429:in stubobj2soap' /home/lalee/research/Soap4R.up/lib/soap/mapping/encodedregistry.rb:342:in_obj2soap'
/home/lalee/research/Soap4R.up/lib/soap/mapping/encodedregistry.rb:301:in obj2soap' /home/lalee/research/Soap4R.up/lib/soap/mapping/mapping.rb:135:in_obj2soap'
/home/lalee/research/Soap4R.up/lib/soap/mapping/mapping.rb:43:in obj2soap' /home/lalee/research/Soap4R.up/lib/soap/mapping/mapping.rb:559:inprotect_mapping'
/home/lalee/research/Soap4R.up/lib/soap/mapping/mapping.rb:532:in protect_threadvars' /home/lalee/research/Soap4R.up/lib/soap/mapping/mapping.rb:548:inprotect_mapping'
/home/lalee/research/Soap4R.up/lib/soap/mapping/mapping.rb:42:in obj2soap' /home/lalee/research/Soap4R.up/lib/soap/marshal.rb:38:inmarshal'

Ruby 2.3 Support

Add the necessary tweaks to Marshalling code to get Soap4R-ng compatible with Ruby 2.3.

International UTF-8 character strings issue with older version of httpclient

I am working with japanese characters in the XML being generated through this library. The problem is that there is a distinct difference between String.size and String.bytesize when handling the generated XML.

The current httpclient does a check if which the version required in soap4r does not, which is if bytesize exists as a function for the provided HTTP request body.

Can you please update the version of httpclient in the gemspec for the next release?

Oga Parser doesn't handle dots in XML Tags

Oga Parser will break XML TagNames that include dots within them, whereas other parsers do not. Sample program illustrating the problem (TagName should be "SOAP..TestMapping..MappablePerson") :

require 'oga'
require 'nokogiri'
require 'awesome_print'

test_xml=<<__EOD__
<SOAP..TestMapping..MappablePerson env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<name>nahi</name>
<age>37</age>
</SOAP..TestMapping..MappablePerson>
__EOD__


doc1 = Oga.parse_xml(test_xml, :strict=>true)
doc2 = Nokogiri::XML(test_xml)

c1 = doc1.children[0]
c2 = doc2.children[0]


puts "First element name:  Oga [#{c1.name}], Nokogiri [#{c2.name}]"
puts "..."
puts "Attributes Check:    Oga"
ap c1.attributes
puts "Attributes Check:    Nokogiri"
ap c2.attributes

Running the test app above would yield this output:

    First element name:  Oga [SOAP], Nokogiri [SOAP..TestMapping..MappablePerson]
    ...
    Attributes Check:    Oga
    [
        [0] Attribute(name: "TestMapping"),
        [1] Attribute(name: "MappablePerson"),
        [2] Attribute(name: "encodingStyle" value: "http://schemas.xmlsoap.org/soap/encoding/")
    ]
    Attributes Check:    Nokogiri
    {
        "env:encodingStyle" =>  env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    }

This issue prevents Oga Parser support from passing the original unit tests. For example:

SOAP4R_PARSERS=ogaparser bundle exec rake test:single test/soap/test_mapping.rb

rspec running tests uninitialized constant SOAP::SOAPString::EncodingNamespace error

Hello, I have problem with old project when running rspec
I get

Ruby 2.3.1
Rails 4.2.6

An error occurred while loading spec_helper.
Failure/Error: require File.expand_path(File.dirname(__FILE__) + "/../config/environment")

NameError:
 uninitialized constant SOAP::SOAPString::EncodingNamespace
 Did you mean?  EncodingError
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/baseData.rb:259:in `<class:SOAPString>'
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/baseData.rb:256:in `<module:SOAP>'
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/baseData.rb:16:in `<top (required)>'
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/mapping/registry.rb:10:in `require'
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/mapping/registry.rb:10:in `<top (required)>'
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/mapping.rb:11:in `require'
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/mapping.rb:11:in `<top (required)>'
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/rpc/driver.rb:12:in `require'
# /home/henry/.rvm/gems/ruby-2.3.1/bundler/gems/soap4r-96aa5490a74f/lib/soap/rpc/driver.rb:12:in `<top (required)>'

I'm not sure why projects broke.

Anyone has Ideas what to do?

Runs Git on installation

When installing saop4r-ng from a vendor directory the gemspec file runs git and complains because the gem is not part of a git repository.

s.files = git ls-files lib bin.split("\n")

require 'xsd/mapping'

when you use xsd2ruby with --mapping_registry as in the samples for marshal... you get an error for require 'xsd/mapping' .. probably due to the fact that this is no longer in standard library?

Can you please help?

Incompatibility between Ruby 3.2.2 and gem soap4r-ng

I encountered a problem when trying to use Ruby 3.2.2 in conjunction with the soap4r-ng gem. It seems that there is an incompatibility that prevents the gem from working correctly with this version of Ruby.

Failure/Error: SOAP::Mapping.soap2obj(body.response)
     
     NoMethodError:
       undefined method `untaint' for "age":String
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/registry.rb:110:in `__define_attr_accessor'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/registry.rb:93:in `__add_xmlele_value'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/rubytypeFactory.rb:359:in `block in anytype2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/baseData.rb:621:in `each'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/rubytypeFactory.rb:358:in `anytype2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/rubytypeFactory.rb:383:in `unknowntype2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/rubytypeFactory.rb:234:in `soap2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/encodedregistry.rb:387:in `_soap2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/encodedregistry.rb:315:in `soap2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/mapping.rb:155:in `_soap2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/mapping.rb:152:in `_soap2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/mapping/factory.rb:268:in `block in soap2obj'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/baseData.rb:990:in `block in soap2array'
     # /usr/local/rvm/gems/default/gems/soap4r-ng-2.0.4/lib/soap/baseData.rb:1029:in `traverse_data'

According to the documentation this untaint method was removed in Ruby 3.2

TLS version supported

I would like to know what is the current versions of SSL & TLS supported by soap4r (1.5.8).

Basically I am using Soap4R as SOAP Webservice Client which is using httpclient under the hood. I need to ensure that my app supports TLS1.2+ protocol.

Please help.
thanks
Sateesh

Ruby 2.2 Support

+1 Ruby 2.2 support

Glad to find someone still supporting soap4r! I needed to move on from the spox implementation, so I was very happy to find your contribution.

Like you, I am interested in keeping soap4r alive and am looking forward to Ruby 2.2 support.

undefined method `namespace' for (Element)

On a recent project using Ruby 2.2.1p85, I noticed this error coming out of code generated by an older version (probably Nahi's original) soap4r:

/lib/soap/mapping/mapping.rb:460:in create_schema_definition': undefined methodnamespace' for ELEMENT

Looks like a simple fix: Just test for the existence of namespace method.

Missing logger-application dependency?

I get the error that logger-application is missing.

$ sudo gem install soap4r-ng
[sudo] password for shorowit:
Fetching: soap4r-ng-2.0.4.gem (100%)
Successfully installed soap4r-ng-2.0.4
Parsing documentation for soap4r-ng-2.0.4
Installing ri documentation for soap4r-ng-2.0.4
Done installing documentation for soap4r-ng after 5 seconds
1 gem installed

$ xsd2ruby.rb --xsd
/usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- logger-application (LoadError)
        from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /var/lib/gems/2.2.0/gems/soap4r-ng-2.0.4/bin/xsd2ruby.rb:7:in `<top (required)>'
        from /usr/local/bin/xsd2ruby.rb:23:in `load'
        from /usr/local/bin/xsd2ruby.rb:23:in `<main>'

If I install the gem, it works:

$ sudo gem install logger-application
Fetching: logger-application-0.0.2.gem (100%)
Successfully installed logger-application-0.0.2
Parsing documentation for logger-application-0.0.2
Installing ri documentation for logger-application-0.0.2
Done installing documentation for logger-application after 0 seconds
1 gem installed

$ ruby /usr/local/bin/xsd2ruby.rb
Usage: /usr/local/bin/xsd2ruby.rb --xsd xsd_location [options]
  xsd_location: filename or URL

Example:
  /usr/local/bin/xsd2ruby.rb --xsd myapp.xsd --classdef foo

Options:
  --xsd xsd_location
  --classdef [filenameprefix]
  --mapping_registry
  --mapper
  --module_path [Module::Path::Name]
  --force
  --quiet

Naming conventions

Hi Lawrence,

Why not speak with rubygems and ask for the ownership of the soap4r gem itself?
Wouldn't this gather the community around your efforts.
It seems the other forks you mention are pretty much dead as well.
It makes sense in my point of view to make soap4r-ng the standard ruby soap gem.
So it would be like the new major version of soap4r.

If anything you can put the proposal to the ruby talk list.
I'm sure people interested in good soap libraries will back you up.

Think about it.

Regards,

Daniel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.