final WebArchive archive = ShrinkWrap.create(WebArchive.class, "http-service.war");
archive.addClasses(AnnotatedProxyServlet.class, AnnotatedProxyListener.class);
archive.addClasses(AnnotatedContextListener.class, WebAppContextListener.class);
archive.addClasses(HttpRequest.class);
archive.addAsResource(STRING_ASSET, "res/message.txt");
archive.setManifest(new Asset() {
@Override
public InputStream openStream() {
if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) {
OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
builder.addBundleManifestVersion(2);