All Projects → raventid → soap-rs

raventid / soap-rs

Licence: MIT license
SOAP client for Rust programming language

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to soap-rs

mpris-rs
Idiomatic MPRIS D-Bus interface library for Rust
Stars: ✭ 37 (+0%)
Mutual labels:  rust-library
kul
A unique textual notation that can be used as both a data format and a markup language and that has powerful extensibility of both lexical syntax and semantics, and a Rust library for parsing it.
Stars: ✭ 12 (-67.57%)
Mutual labels:  rust-library
unicode-linebreak
󠁼💔 Implementation of the Unicode Line Breaking Algorithm in Rust
Stars: ✭ 14 (-62.16%)
Mutual labels:  rust-library
PackageBase
Contains base classes from which the generated classes from PackageGenerator inherit
Stars: ✭ 19 (-48.65%)
Mutual labels:  soap
dupe-krill
A fast file deduplicator
Stars: ✭ 147 (+297.3%)
Mutual labels:  rust-library
cxf-spring-boot-starter
Enterprise & production ready SOAP webservices powered by Spring Boot & Apache CXF
Stars: ✭ 129 (+248.65%)
Mutual labels:  soap
lcs-image-diff-rs
🖼 Image diff tool with LCS algorithm
Stars: ✭ 67 (+81.08%)
Mutual labels:  rust-library
font8x8-rs
8x8 monochrome bitmap fonts for rendering. Implemented in Rust.
Stars: ✭ 15 (-59.46%)
Mutual labels:  rust-library
inline-c-rs
Write and execute C code inside Rust.
Stars: ✭ 121 (+227.03%)
Mutual labels:  rust-library
healthchecks-rs
Simple Rust library to interact with healthchecks.io
Stars: ✭ 16 (-56.76%)
Mutual labels:  rust-library
rust-cross-libs
Cross-compile the Rust standard library for custom targets without a full bootstrap build.
Stars: ✭ 29 (-21.62%)
Mutual labels:  rust-library
soap-typescript
SOAP decorators for creating wsdl's and annotating services to provide metadata for node-soap
Stars: ✭ 20 (-45.95%)
Mutual labels:  soap
daemonize-me
Rust library to ease the task of creating daemons
Stars: ✭ 34 (-8.11%)
Mutual labels:  rust-library
laravel-soap
Laravel Soap Client
Stars: ✭ 140 (+278.38%)
Mutual labels:  soap
thread-priority
A simple thread schedule and priority library for rust
Stars: ✭ 48 (+29.73%)
Mutual labels:  rust-library
otp
One Time Password for 2-Factor-Authentication implemented in Rust
Stars: ✭ 21 (-43.24%)
Mutual labels:  rust-library
version-compare
↔️ Rust library to easily compare version strings. Mirror from https://gitlab.com/timvisee/version-compare
Stars: ✭ 32 (-13.51%)
Mutual labels:  rust-library
WSD-python
Web Services for Devices (WSD) tools and utilities for cross platform support
Stars: ✭ 22 (-40.54%)
Mutual labels:  soap
requests-rs
Rust HTTP client library styled after awesome Python requests
Stars: ✭ 37 (+0%)
Mutual labels:  rust-library
ArmorLib
Easily scan files for threats to security and privacy. A Rust library and command line tool. WIP.
Stars: ✭ 20 (-45.95%)
Mutual labels:  rust-library

soap-rs

STATUS: WORK IN PROGRESS.

Rust 2018 edition and shiny async/await inside.

SOAP client for Rust programming language.

LICENSE NOTE: Current WSDL implementation is slightly modified version of https://github.com/jaxx/wsdl-rs. WSDL parser will be changed, but it's not a high priority now.

This project is not intended to be used in production. It is more for a learning purpose, personally to me it is both Rust and SOAP, what I'm going to explore.

Client is planned to support SOAP 1.2 and SOAP 1.1. Right now I think it would be nice to just have 1.1 and 1.2 adapters for generic codebase.

For teting purposes I use some services from list here. http://stackoverflow.com/questions/311654/public-free-web-services-for-testing-soap-client

To provide a better user experience we are looking at nice and functional SOAP libraries on other platforms:

FAQ

Q: I see a SOAP client, but how to build a server?

A: Soap-rs is SOAP client library, we understand the need for SOAP client in modern world, but if you are building a Rust service (and you are) don't use SOAP for your partners. Even if they're C# folks. Your new partner might use Ruby, think about them. (Protip: use JSON).

Q: My partner send me some XSD files, but there's no WSDL, can I use this library?

A: Short: XSD is not a standard way to describe SOAP service. In practice though it happens sometimes. We'll try to support XSD base client in future, but expect this to be harder for you (you might have to write glue code).

Q: Well, I actually have to send just one request to my partner and I have XML example, can I generate structs just for this request?

A: Again, it's not a valid case for SOAP library, but yep, it will be possible with same limitation as XSD generation.

Q: I've used SOAP libraries for Perl, Ruby and I've used IBM Web Services Invocation Framework. They all generate

code on the fly by WSDL. Why do you ask me to generate code by hand with CLI tool and store in my project?!

It's ugly, takes space on my disk, and it's unreadable!

A: First of all, we'll do our best to generate human readable code. Sometimes WSDL services are described badly, so service generated by WSDL is totally broken. But it might be just slightly broken! By generating SOAP mechanical code in a separate step we give you a freedom to fix generated code by changing signature, type, data, namespace or something else, without digging into complicated macro, which generate the code on the fly. So we do it for you!

Q: Hm, sounds reasonable. But I still wanna do dynamic generation with WSDL url!

A: Well... It might be done in the future.

Features

  • Support both 2001 (v1.1) and 2003 (v1.2) XML schema.
  • Support array, array of structs, dictionary and sets.
  • Support for user-defined object with serialization of complex data types and array of complex data types, even embedded multilevel structures.
  • Supports ASMX Services, WCF Services (SVC) and the WSDL definitions.
  • Supports Basic, Digest and NTLM Authentication, WS-Security, Client side Certificate and custom security header.
  • AES256 or 3DES Encrypt/Decrypt data without SSL security.
  • An example of service and how to use it is included in source code.
  • Different WSDL caching mods.
  • Custom request headers.
  • Request compression with gzip or other provider.
  • Detailed documentation which covers every component.
  • This is a Rust library, so it should be fast, like really fast.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].