At line 4 changed 1 line. |
This tutorial will show you how to create a Webservice Endpoint and what you can do to automate the creation of artifacts necessary to provide Webservices to others. |
This tutorial will show you how to create a Webservice Endpoint and what you can do to automate the creation of artifacts necessary to provide Webservices to others. Note that in 1.9.1, an [XFire|http://xfire.codehaus.org] installer exists in the ''extras'' directory. Using XFire is the recommended tool for creating web services in an AppFuse application. See the [AppFuse + XFire|AppFuseXFire] tutorial for more information about this installer. |
At line 16 changed 1 line. |
!!Download the prerequistie packages [#0] |
!!Preface [#0] |
At line 19 changed 1 line. |
There's work in progress to automate the process of plugging in Axis into AppFuse (via an extras package), so stay tuned. |
There's work in progress to automate the process of plugging in Axis into AppFuse (via an extras package), you'll find the first shot version attached to this page as [zip|http://raibledesigns.com/wiki/attach/AppFuseAxis/extras-axis.zip]. |
At line 21 added 6 lines. |
All that's described on this page is performed by an ant-task in this package. Expand it in the extras folder of your project, go into the folder axis-webservice with a shell and do an |
{{{ |
ant install |
}}} |
there. It will install the necessary files and do the changes described below. |
|
At line 75 changed 1 line. |
Additinally we need to put the axis.classpath into the compile-service target (just below <path id="service.compile.classpath">): |
Additinally we need to put the axis.classpath into the compile-service target (just below <path id="service.compile.classpath">): |
At line 81 changed 1 line. |
We know need to make webdoclet generate the appropriate entries for the AxisServlet in web.xml. |
We now need to make webdoclet generate the appropriate entries for the AxisServlet in web.xml. |
At line 138 changed 1 line. |
<XDtClass:ifHasClassTag tagName="axisfuse.beanMapping" paramName="xmlns"><beanMapping <XDtClass:ifHasClassTag tagName="axisfuse.beanMapping" paramName="xmlns">qname="ns:<XDtClass:className/>"</XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName="axisfuse.beanMapping" paramName="xmlns">xmlns:ns="<XDtClass:classTagValue tagName="axisfuse.beanMapping" paramName="xmlns"/>"</XDtClass:ifHasClassTag> languageSpecificType="java:<XDtClass:fullClassName/>"/></XDtClass:ifHasClassTag></XDtClass:forAllClasses> |
<XDtClass:ifHasClassTag tagName="axisfuse.beanMapping" paramName="xmlns"> |
<beanMapping <XDtClass:ifHasClassTag tagName="axisfuse.beanMapping" paramName="xmlns">qname="ns:<XDtClass:className/>"</XDtClass:ifHasClassTag> |
<XDtClass:ifHasClassTag tagName="axisfuse.beanMapping" paramName="xmlns">xmlns:ns="<XDtClass:classTagValue tagName="axisfuse.beanMapping" |
paramName="xmlns"/>"</XDtClass:ifHasClassTag> languageSpecificType="java:<XDtClass:fullClassName/>"/></XDtClass:ifHasClassTag></XDtClass:forAllClasses> |
At line 162 changed 1 line. |
<parameter name="<XDtClass:classTagValue tagName="axisfuse.parameter" paramName="name"/>" value="<XDtClass:classTagValue tagName="axisfuse.parameter" paramName="value"/>" /> |
<parameter name="<XDtClass:classTagValue tagName="axisfuse.parameter" paramName="name"/>" value="<XDtClass:classTagValue |
tagName="axisfuse.parameter" paramName="value"/>" /> |
At line 170 changed 1 line. |
<service name="<XDtClass:classTagValue tagName="axisfuse.service" paramName="name"/>" <XDtClass:ifHasClassTag tagName="axisfuse.service" paramName="provider">provider="<XDtClass:classTagValue tagName="axisfuse.service" paramName="provider" values="java:RPC,java:MSG,java:EJB" default="java:RPC"/>"</XDtClass:ifHasClassTag><XDtClass:ifDoesntHaveClassTag tagName="axisfuse.service" paramName="provider">provider="java:RPC"</XDtClass:ifDoesntHaveClassTag> <XDtClass:ifHasClassTag tagName="axisfuse.service" paramName="style">style="<XDtClass:classTagValue tagName="axisfuse.service" paramName="style" values="rpc,document,wrapped,message"/>"</XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName="axisfuse.service" paramName="use">use="<XDtClass:classTagValue tagName="axisfuse.service" paramName="use" values="literal,encoded"/>"</XDtClass:ifHasClassTag>> |
<service name="<XDtClass:classTagValue tagName="axisfuse.service" paramName="name"/>" <XDtClass:ifHasClassTag tagName="axisfuse.service" |
paramName="provider">provider="<XDtClass:classTagValue tagName="axisfuse.service" paramName="provider" values="java:RPC,java:MSG,java:EJB" |
default="java:RPC"/>"</XDtClass:ifHasClassTag><XDtClass:ifDoesntHaveClassTag tagName="axisfuse.service" |
paramName="provider">provider="java:RPC"</XDtClass:ifDoesntHaveClassTag> <XDtClass:ifHasClassTag tagName="axisfuse.service" |
paramName="style">style="<XDtClass:classTagValue tagName="axisfuse.service" |
paramName="style" values="rpc,document,wrapped,message"/>"</XDtClass:ifHasClassTag> |
<XDtClass:ifHasClassTag tagName="axisfuse.service" paramName="use">use="<XDtClass:classTagValue tagName="axisfuse.service" |
paramName="use" values="literal,encoded"/>"</XDtClass:ifHasClassTag>> |
At line 185 changed 2 lines. |
<parameter name="allowedMethods" <XDtClass:ifDoesntHaveClassTag tagName="axisfuse.service" paramName="include-all">value="<XDtMethod:forAllMethods><XDtMethod:ifHasMethodTag tagName="axisfuse.method"><XDtMethod:methodName/> </XDtMethod:ifHasMethodTag></XDtMethod:forAllMethods>"</XDtClass:ifDoesntHaveClassTag> <XDtClass:ifHasClassTag tagName="axisfuse.service" paramName="include-all">value="*"</XDtClass:ifHasClassTag>/> |
<parameter name="scope" value="<XDtClass:classTagValue tagName='axisfuse.service' paramName='scope' value='request,session,application' default='request'/>"/> |
<parameter name="allowedMethods" <XDtClass:ifDoesntHaveClassTag tagName="axisfuse.service" |
paramName="include-all">value="<XDtMethod:forAllMethods><XDtMethod:ifHasMethodTag tagName="axisfuse.method"><XDtMethod:methodName/> |
</XDtMethod:ifHasMethodTag></XDtMethod:forAllMethods>"</XDtClass:ifDoesntHaveClassTag> |
<XDtClass:ifHasClassTag tagName="axisfuse.service" paramName="include-all">value="*"</XDtClass:ifHasClassTag>/> |
<parameter name="scope" value="<XDtClass:classTagValue tagName='axisfuse.service' paramName='scope' value='request,session,application' |
default='request'/>"/> |
At line 299 changed 1 line. |
return users == null ? null : (User [])users.toArray(); |
return users == null ? null : users.toArray(new User[users.size()]); |
At line 321 changed 1 line. |
deploy your app and have a look under http://your.server/project/services it should look like |
deploy your app and have a look under http://your.server/your.project/services it should look like |
At line 344 added 7 lines. |
And now... Some Services |
|
* UserService (wsdl) |
o getUsers |
o removeUser |
o getUser |
o saveUser |