Add lib dependencies to Axis2 web service when generating aar file - web-services

I've created an Axis2 Service Project with Developer Studio 3.7.1.
The structure of the project is the following:
ProjectName
-->\src
---->\main
------>\java
-------->Source Code of the web service
------>\resources
-------->\META-INF
---------->services.xml
-->\lib
-->Jar dependencies of the web service
From the Project Explorer, when I right-click in the project and select "Export Project as Deployable Archive" to generate the aar file, it not contains the lib with the dependencies and I have to add them by hand before deploy the aar to the Axis2 server repository.
My question is how can be added those dependencies automatically?

Put your lib directory under ProjectName/src/main/resources will package your lib into aar file.

Related

WSO2 API Manager not applying changes to external jar files in repository/components/lib

I've implemented a billing engine library based on monetization interface and copied it to repository/components/lib folder. And done all the configurations related to monetization base on Monetizing an API. Now whenever I change the code in this library and build and copy the new jar file to this folder, it doesn't get applied. I also restart the server every time I make a change. Is there any mechanisms for caching the library files or some other reasons that I overlooked?
JAR artifacts are converted to OSGi bundles during the startup of the servers. If you place any JAR artifacts in the /components/lib directory, they will be converted as OSGi bundles by WSO2 and added to the /components/dropins directory.
If you have changed the package names of the JAR, or the artifact names, you have to remove the existing OSGi bundle from the /components/dropins directory. Once removed, place the new JAR inside the /components/lib directory and restart the servers to load the packages again.

How to add dependencies to CompositeApplicationProject?

Project pom editor doesn't show any dependencies in CompositeApplicationProject, except Custom Mediator Project. Rest of project (dependencies) like ESB Config Project, DSS Project, in same eclipse workspace are invisible.
I download old release of WsoTooling 3.8.0 and that one able add to CompositeApplicationProject dependency Registry Project only.
Is it possible manually manage dependencies(projects) in CompositeApplicationProject ?

a Web Service deployed (as an aar) file to Axis2

I have a Web Service deployed (as an aar) file to Axis2, but the dependencies (in the form of .jar files within the lib directory of the aar file) are not found on execution. They do get used properly if I copy them into the WEB-INF lib directory of the Axis2 installation, but this is not an ideal workaround.
Does anybody know of any configuration settings I might have missed? Has anybody got a
aar file (on OC4J or other server) with Axis2 v1.2? I'm not sure whether my problem is with Axis2, so might have to deploy the service to a Tomcat server to check but would rather not go through that cycle if someone can point me in the right direction.
Thanks,
You can put the jars into a lib directory inside the AAR. as pointed out in Where to deploy a jar dependency of my webservice?
This will help you understand the structure of the aar file -http://axis.apache.org/axis2/java/core/docs/quickstartguide.html

TeamCity buildstep for generating WSDL file

For a project we need to the wsdl files to be published in the artifacts folder.
For continuous integration we use TeamCity.
The project type is a Windows Communication Service Project.
Is it possible to have a buildstep that will generate the wsdl files from a webservice project?
Yes you can do that just from the project. Use a nant script or similar that can execute command line for you. Have the script execute the tool against your project, you can use CmdHelper for example. http://www.stephan-brenner.com/?page_id=82

Customize web deployment package in Visual Studio 2010

I have a WCF DataService build in VS 2010, targetting .Net 4.0. This all works fine. I've created a deployment package and have the application deployed to a web server using MSDeploy and a zip file. When I set up an automated build on a TFS Build Agent the contents of the deployment package changed. I no longer get the strong named assemblies in my deployment package. These excluded assemblies are projects within the solution and are built on the Build Server.
I don't see a lot of configuration options for the deployment package, but I would like to know why the build server creates a different package than my workstation, using the same settings.
I am using "Only files needed to run this application", I have ticked "Exclude generated debug symbols" and "Exclude files from App_Data folder". I _do_not_ include database packages. I do create a zip file (which is missing the strong named assemblies)
Thanks for any information you may have explaining why this occurs. Then maybe I can solve the problem.
Beezler
On the build server I've ungaced the assemblies I was concerned about and that got my deployment package to the state I want it. So it appears the deployment package does not include the GACed assemblies, which is a good thing. I would still like to know how to override this behavior on certain referenced assemblies.
Thanks,
If you want to include a DLL files for a GAC assembly do the following:
In your project, expand the "References" folder
right-click on the reference you want to include the DLL and click "properties" to bring up the properties pane
set "Copy Local" to "True"
That's it! When publishing your project, it will include the DLL in the bin folder for that reference!