|
January 2004
[
dandiep
]
05:51, Tuesday, 27 January 2004
It is time again for another Soaplet release. This release focuses on support for WSDL (minus arrays and overly complex types - coming in version 0.4). The WSDLSoaplet creates a SOAP message on the fly from the WSDL url. Then all you need to do is set the parameters in that xml document via XPath. So for the Google web service you would do something like this:
setParameter( "//start", "0" ); Check out the docs for more information. Also supported in this release is velocity template autogeneration. For those who aren't familiar with Soaplets, you can create velocity templates which are a soap request - a soap request where you fill in the blanks with velocity code. Once again, I refer you to the Soaplet website for more information. Bon Apetite!
[
dandiep
]
18:42, Monday, 26 January 2004
Well, after spending hours messing around with Axis, due to either my ignorance or Axis's bugs, I've decided to finally create a server side soap implementation. Soaplet was a first step in this direction - separating the java model on the client side from the SOAP message. However, the client end of things is easy - the service contracts have already been created. Just use the WSDL to generate the framework to submit the soap messages - whether this be java code or you are sending an xml document (note: the soaplet framework doesn't do this yet). On the server side of things - you must create the wsdl document. No one wants to create wsdl by hand or the corresponding XSD. So it is autogenerated - from your code most often. I don't want to create my web service in java though. Why?
What do I propose then? A four step web service creation process facilitated by some not-yet created software:
The big question comes at #1. What are the options?
I don't feel like any of these are great solutions, but I lean toward the second one. However - there doesn't need to be a single solution. From this model WSDL, XSD, and soap templates can easily be created. Then it is just a matter of filling in the blanks between the brackets. Requests handlers could probably done using XPath quite easily. Just query out the elements that you want and bind them to your model. Maybe typed XPath could do this really easily if literal (as opposed to soap encoded) services are used. Thoughts? Comments? Suggestions? Criticisms? |