# How to use PushPublishHTTPCupertinoAkamaiHandler

**URL:** <https://community.wowza.com/t/how-to-use-pushpublishhttpcupertinoakamaihandler/52674>\
**Category:** Wowza Developer Dojo\
**Created:** [January 16, 2019, 5:25pm UTC](https://community.wowza.com/t/how-to-use-pushpublishhttpcupertinoakamaihandler/52674 "2019-01-16T17:25:22Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Guilherme\_Raduenz](https://avatars.discourse-cdn.com/v4/letter/g/b5e925/32.png) [@Guilherme\_Raduenz](https://community.wowza.com/u/Guilherme_Raduenz)\
**Post date:** [January 16, 2019, 5:25pm UTC](https://community.wowza.com/t/how-to-use-pushpublishhttpcupertinoakamaihandler/52674/1 "2019-01-16T17:25:22Z")

</div>

Hi, i want to push dynamic streams do Akamai, i’m trying to use PushPublishHTTPCupertinoAkamaiHandler, but i’m getting the error:

```auto
Exception in thread "PushPublishHTTPCupertinoAkamaiHandler-efgh" java.lang.NullPointerException 
	at com.wowza.wms.pushpublish.protocol.cupertino.PushPublishHTTPCupertino.createOutputItem(PushPublishHTTPCupertino.java:888)
	at com.wowza.wms.pushpublish.model.PushPublishHTTPPusher$HTTPPoller.run(PushPublishHTTPPusher.java:284)

```

And here is the module that i’m trying to implement:

```auto
public void onPublish(IMediaStream stream, String streamName, boolean isRecord, boolean isAppend) {
	String publishStreamName = EventialsTools.clearStreamName(streamName);
	try {
		String playbackStreamName = resolveStreamName.resolveOrGetAlias(publishStreamName);

		IApplicationInstance appInstance = stream.getStreams().getAppInstance();

		synchronized (publishers) {
			logger.Info("PushAkamai", "Start push to akamai.");

			PushPublishHTTPCupertinoAkamaiHandler publisher = new PushPublishHTTPCupertinoAkamaiHandler();
			publisher.setAppInstance(appInstance);
			publisher.setSrcStream(stream);
			publisher.setSrcStreamName(publishStreamName);

			HashMap<String, String> dataMap = new HashMap<String, String>();

			dataMap.put("streamName", String.format("%s", playbackStreamName));
			dataMap.put("akamai.streamId", "000000");
			dataMap.put("akamai.hostId", "xxxxx-i");

			publisher.load(dataMap);

			publisher.
			publisher.setDebugLog(true);

			publisher.connect();
			publishers.put(stream, publisher);
		}
	} catch (Exception e) {
		logger.Error("PushAkamai", "Failed to push to akamai.", e);
	}
}

```

---

<div class="post-metadata">

**Author:** ![Guilherme\_Raduenz](https://avatars.discourse-cdn.com/v4/letter/g/b5e925/32.png) [@Guilherme\_Raduenz](https://community.wowza.com/u/Guilherme_Raduenz)\
**Post date:** [January 24, 2019, 12:54am UTC](https://community.wowza.com/t/how-to-use-pushpublishhttpcupertinoakamaihandler/52674/2 "2019-01-24T00:54:40Z")

</div>

I fixed the NullPointerException with:

```auto
PushPublishHTTPCupertinoAkamaiHandler publisher = new PushPublishHTTPCupertinoAkamaiHandler();

publisher.init(appInstance, streamName, stream, profileMap, entryMap, null, false);

```

But the chunklist.m3u8 returned from Akami returns http 404 code.

Any ideas of what happening here?
