General

What is soap-ws?

soap-ws is a lightweight and easy-to-use Java library to handle SOAP message generation and SOAP message transmission on a purely XML level. With the usage of this library within few lines of code you can easily import your WSDL and generate SOAP messages directly in an XML format. Then you can use the SoapClient to transmit this message over HTTP(s) to a web-service endpoint. Finally, you can run SoapServer to receive SOAP messages and and respond to them. And all of that requires no classes or stubs generation - everything happens directly in an XML format.


What should I bother?
Have a look at this:
  • Have you ever had problems with the versioning of web-service endpoints? Have you ever had to address the problem how to deal with many versions of the same classes generated from two versions of the same WSDL in one code base? Did you try to prefix the classes, change the package, or do any other mambo-jumbo tricks that are clearly against the best-practices of software design?
  • Have you every tried to chain and orchestrate a few web-service invocations applying some XSLT transformation to the consecutive responses forwarding them to the next endpoint? Have you ever seen how cumbersome it is using Java generated ws clients/servers?
  • Have you ever had to re-generate the ws-stubs, recompile and redeploy you application because of a tiny change in the WSDL?
  • Have you every been confused why you generate all these domain and stub classes to invoke one simple web-service operation and to get a plain response that could be processed with XSTL one-liner?
  • Have you ever had to had to send a simple XML message to a SOAP server in a fire and forget mode?
  • Have you ever had to expose a mock SOAP endpoint that would respond to the request sending a sample response -let's say in an unit test?
  • Have you ever had to download a hierarchical WSDL file with hierarchical XSD schemas and store it on your local hard drive with all the import and includes fixed properly so that you can reuse it locally?
  • Have you ever…

Yes, that's what soap-ws can do for you. But it can do much more, just dive in and check the plethora of stuff that we have implemented.


How can I hack around?
Try here:
  • GitHub -> https://github.com/reficio/soap-ws
  • Jenkins -> https://reficio.ci.cloudbees.com/job/soap-ws
  • Site -> http://projects.reficio.org/soap-ws/1.0.0-SNAPSHOT