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> >