[ http://issues.apache.org/jira/browse/AXIS2-1879?page=comments#action_12458968 ] David Illsley commented on AXIS2-1879: --------------------------------------
I'm sorry, I'm a little confused... how would client code use these 'client deployed' aars? > Deploying services on the client side > ------------------------------------- > > Key: AXIS2-1879 > URL: http://issues.apache.org/jira/browse/AXIS2-1879 > Project: Apache Axis 2.0 (Axis2) > Issue Type: New Feature > Components: kernel > Affects Versions: 1.1 > Environment: All > Reporter: Sandeep Bhojwani > Attachments: clientside-deployment-axis2-1.1.zip > > > Purpose of the modification > -------------------------------- > Axis2 provides a nice way of deploying services on the server side but no > good way of doing the same on the client side. All the service deployment > features provided by Axis2 on the server side can be very easily extended to > client side. Currently on the server side you can package a service as a .aar > file and deploy it. On the client side, however, you need to pass the wsdl > url to the ServiceClient to send a message to a service. > The proposed modification uses the same deployment features that are > available on the server side for application on the client side. So with the > proposed modification you can deploy a .aar file for use on the client side. > Infact you can take the same .aar file from your server and put it on your > client. This is very useful in the case where you are writing intermediaries > and you are not using ServiceClient but instead calling the AxisEngine > directly. > The change is very minimal and has no impact on existing code. > Details of the Modification > -------------------------------- > When a service is loaded by Axis2 it makes an assumption that it needs to be > loaded as server side. The idea is to not make that assumption and let the > user specify via a parameter in the axis config file how the Engine should > use the service. > Deployment Engine will look for this config parameter("isclientside") and set > server side to true or false based on that. > Here's the config parameter.. > <!-- Added by Sandeep Bhojwani([EMAIL PROTECTED]), Trailside Systems. > isclientside is used to indicate whether the services/wsdls deployed are > to be > used on the client side. If client side is set to true then a wsdl that > declares a service > of type in-out will be interpreted as out-in because that's how the > client will have to treat it. > The core axis Engine supports both client and server message flows. The > Engine only needs to know > whether the service is to be treated as client side or server side. > --> > <parameter name="isclientside" locked="false">false</parameter> > Here's the code snippet that demonstrates the change that can be made to > DeploymentEngine code.. > ... > ... > AxisService axisService = null; > InputStream wsdlStream = serviceClassLoader.getResourceAsStream(metainf + > "/service.wsdl"); > if (wsdlStream == null) > { > wsdlStream = serviceClassLoader.getResourceAsStream(metainf + "/" + > serviceName + ".wsdl"); > } > if (wsdlStream != null) > { > WSDL11ToAxisServiceBuilder wsdl2AxisServiceBuilder = new > WSDL11ToAxisServiceBuilder(wsdlStream, null, null); > /* TODO: Added by Sandeep Bhojwani([EMAIL PROTECTED]), Trailside Systems. > * check if service is to be loaded for use on client side or server side > */ > wsdl2AxisServiceBuilder.setServerSide(!isClientSide); > axisService = wsdl2AxisServiceBuilder.populateService(); > ... > ... > The big difference in treating a service on the client as opposed to server > is in the MEP(Message Exchange Pattern). A wsdl with an in-out service when > loaded on the server will create an In-OUT Operation whereas on the client > side it will create a OUT-IN operation. A rversal of MEP. IN becomes OUT and > OUT becomes IN. > I have all the required modifications to 1.1 in a zip file. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
