Yes, it's on my todo list for the next couple days... Do you have any ideas for what type of extensions to use ? Maybe JSON-RPC and use a quick web2.0 client app to consume the service ?
On Wed, Apr 23, 2008 at 4:39 AM, ant elder <[EMAIL PROTECTED]> wrote: > This looks really good, do you have plans to extend it further like with > adding clients or other extension types? > > ...ant > > On Tue, Apr 22, 2008 at 5:53 PM, <[EMAIL PROTECTED]> wrote: > > > Page Edited : > TUSCANY<http://cwiki.apache.org/confluence/display/TUSCANY>: Build > > your first Web Services with > Tuscany<http://cwiki.apache.org/confluence/display/TUSCANY/Build+your+first+Web+Services+with+Tuscany> > > > > Build your first Web Services with > Tuscany<http://cwiki.apache.org/confluence/display/TUSCANY/Build+your+first+Web+Services+with+Tuscany>has > been edited by Luciano > > Resende<http://cwiki.apache.org/confluence/display/[EMAIL PROTECTED]> (Apr > > 22, 2008). > > > > (View > changes)<http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=82971&originalVersion=5&revisedVersion=6> > > Content: > > > Build your first Web Services with Tuscany > > > > This guide will give you step by step instructions on how to build your > > first web services. > > The first part, we will learn how we can add the Tuscany Runtime to > > Eclipse IDE. > > The second part, will show how easy is to create a webservices using > > Apache Tuscany. > > > Install Tuscany Eclipse Plugins 1.1 > > Install the Tuscany Eclipse Plugin > > > > The first thing you do is to start Eclipse and go to *Help -> Software > > Updates -> Find and Install*, > > select "Search for new features to install" and then click next > > > > On the next dialog, click on *"New Remote Site..."* to create a new site > > entry. Give it a name such as > > "Tuscany" and add the site URL as * > > > http://people.apache.org/~jsdelfino/tuscany/tools/updatesite/*<http://people.apache.org/%7Ejsdelfino/tuscany/tools/updatesite/*> > > > > Make sure the *"Remote Site"* that was just created is selected, and > > click *"Finish"* > > > > Select the *"Apache Tuscany SCA Tools"* and click *"Next"*, and then, on > > the next dialog, click *"Finish"* > > > > Accept the *"Plugin License"* > > > > and next click on *"Install All"* > > > > When asked to *"restart eclipse"*, click the *"yes"* button. > > > > Create your Service Business Logic Create a Java Project > > > > > In this step you create a Java Project in Eclipse to hold the composite > > service application. > > Click on the *New Java Project* button in the toolbar to launch the > > > project creation dialog. > > Next you enter "ws" as the *Project name*, and for *Project Layout* select > > *Create separate* > > *folders for sources and class files.* > > > > > > > > > > > Hit the *Next* button, and on the following page go to the *Libraries*tab. > Use the > > *Add Library...* > > button on the right to add the *Tuscany Library* library to the project. > > > > > > > > > > > Hit the *Finish* button to complete the *New Java Project* dialog to > > create the "ws" java project. > > > > > > > > > > > Construct Services > > > > First you create the "helloworld" package folders into which later in this > > step you place service implementations. > > Select the "ws" project and click on the *New Java Package* button in the > > > toolbar to launch > > the package creation dialog. > > > > Next you enter "helloworld" as the package *Name*, and press the > *Finish*button to complete the > > dialog. > > > > > > > *HelloWorld* > > > > In this step you create the HelloWorld service interface and > > implementation. > > Select the "helloworld" package. Next you click on the dropdown arrow next > > to the *New Java Class* > > button and select the *New Java Interface* option from the dropdown > > > list. In the dialog > > enter "HelloWorld" as the *Name* of the interface and select the Finish > > button to complete the dialog. > > The Java editor will open on the new created Java interface. Replace the > > content of the editor by > > *copy-paste* of the following Java interface code snippet. > > > > > package helloworld;import org.osoa.sca.annotations.Remotable; > > @Remotablepublic interface HelloWorld { > > String sayHello(String name); > > } > > > > > Select the "helloworld" package again. Select the *New Java Class* button > > > . In the dialog enter > > "HelloWorldImpl" as the *Name* of the class, add "Catalog" as the > > interface this class implements, and > > then select *Finish* to complete the dialog. > > > > The Java editor will open on the new created Java class. Replace the > > content of the editor by > > *copy-paste* of the following Java class code snippet. > > > > > package helloworld;public class HelloWorldImpl implements HelloWorld { > > public String sayHello(String name) { > > return "Hello " + name; > > } > > } > > > > > After completing these steps the content of the "ws" project will look as > > follows. > > > > > > > Compose Services > > > > Now that you have all the required service implementations you compose > > them together to provide > > the store composite service. The composition is stored in a .composite > > file. > > > > Select the "src" folder of the "ws" project. *Right click* to get the > > context menu, select *New*, and > > then *File*. In the *New File* dialog enter "helloworld.composite" for the > > *File name*, and then select *Finish* > > to complete the dialog. > > > > The Text editor will open on the new created composite file. Replace the > > content of the editor by > > *copy-paste* of the following composite snippet. > > > > > <?xml version="1.0" encoding="UTF-8"?> > > <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" > xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" > xmlns:c="http://helloworld" name="helloworld"> > > > > > > <component name="HelloWorldComponent"> > > <implementation.java class="helloworld.HelloWorldImpl"/> > > <service name="HelloWorld"> > > <binding.ws uri="http://localhost:8080/HelloWorld"/> > </service> > > </component> > > </composite> > > > > > After completing these steps the content of the "store" project will look > > as follows. > > > > > > > > > > > Congratulations you completed your 1st composite service applications, now > > its time to take it into > > action. > > > Use Services > > > > In this step you launch and use the ws composite service application you > > created. > > > > First select the "helloworld.composite" file, in your "ws" project. *Right > > click* to get the > > context menu, select *Run As*, and then *Tuscany*. The Tuscany runtime > > will start up adding > > the helloworld composition to its domain and will make the helloworld web > > service live. > > > > The Eclipse console will show the following messages. > > > > > > > > > Next Launch your Web browser and enter the following address: > > > > http://localhost:8080/HelloWorld?wsdl > > > > > You should now have your web service live, and the url should give you > > back a generated wsdl for the service. > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > <wsdl:definitions targetNamespace="http://helloworld" > xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" > xmlns:ns0="http://helloworld" > xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" > xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" > xmlns:ns1="http://org.apache.axis2/xsd" > xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> > > <xs:schema attributeFormDefault="qualified" > elementFormDefault="qualified" targetNamespace="http://helloworld" > xmlns:ns="http://helloworld"> <xs:element name="sayHello"> > > <xs:complexType> > > <xs:sequence> > > <xs:element minOccurs="0" name="param0" nillable="true" > type="xs:string"/> > > </xs:sequence> > > </xs:complexType> > > > > </xs:element> > > <xs:element name="sayHelloResponse"> > > <xs:complexType> > > <xs:sequence> > > <xs:element minOccurs="0" name="return" nillable="true" > type="xs:string"/> > > </xs:sequence> > > </xs:complexType> > > </xs:element> > > </xs:schema> > > > > </wsdl:types> > > <wsdl:message name="sayHelloRequest"> > > <wsdl:part name="parameters" element="ns0:sayHello"> > > </wsdl:part> > > </wsdl:message> > > <wsdl:message name="sayHelloResponse"> > > <wsdl:part name="parameters" element="ns0:sayHelloResponse"> > > </wsdl:part> > > </wsdl:message> > > > > <wsdl:portType name="HelloWorldPortType"> > > <wsdl:operation name="sayHello"> > > <wsdl:input message="ns0:sayHelloRequest" wsaw:Action="urn:sayHello"> > > </wsdl:input> > > <wsdl:output message="ns0:sayHelloResponse" > wsaw:Action="urn:sayHelloResponse"> > > </wsdl:output> > > </wsdl:operation> > > </wsdl:portType> > > <wsdl:binding name="HelloWorldHttpBinding" type="ns0:HelloWorldPortType"> > > > > <http:binding verb="POST"/> > > <wsdl:operation name="sayHello"> > > <http:operation location="HelloWorld/sayHello"/> > > <wsdl:input> > > <mime:content part="sayHello" type="text/xml"/> > > </wsdl:input> > > <wsdl:output> > > <mime:content part="sayHello" type="text/xml"/> > > </wsdl:output> > > > > </wsdl:operation> > > </wsdl:binding> > > <wsdl:binding name="HelloWorldSOAP11Binding" > type="ns0:HelloWorldPortType"> > > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation > name="sayHello"> > > <soap:operation soapAction="urn:sayHello" style="document"/> > > <wsdl:input> > > <soap:body use="literal"/> > > </wsdl:input> > > > > <wsdl:output> > > <soap:body use="literal"/> > > </wsdl:output> > > </wsdl:operation> > > </wsdl:binding> > > <wsdl:service name="HelloWorld"> > > <wsdl:port name="HelloWorldSOAP11port_http" > binding="ns0:HelloWorldSOAP11Binding"> > > <soap:address location="http://192.168.209.1:8080/HelloWorld"/> > </wsdl:port> > > > > <wsdl:port name="HelloWorldHttpport" > binding="ns0:HelloWorldHttpBinding"> > > <http:address location="http://192.168.209.1:8080/HelloWorld"/> > </wsdl:port> > > </wsdl:service> > > </wsdl:definitions> > > > > Powered by Atlassian > Confluence<http://www.atlassian.com/software/confluence/default.jsp?clicked=footer>(Version: > 2.2.9 Build:#527 Sep 07, 2006) - Bug/feature > > request <http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470> > > > > > > Unsubscribe or edit your notifications > preferences<http://cwiki.apache.org/confluence/users/viewnotifications.action> > > > -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/
