throws Exception {
this.topic = topic;
this.callback = callback;
WseMsgBrokerClient wseClient = new WseMsgBrokerClient();
MsgboxHandler msgboxHandler = new MsgboxHandler();
EndpointReference msgBoxAddr = msgboxHandler.createPullMsgBox(this.messageBoxUrl, 1000l);
String messageBoxAddress = msgBoxAddr.getAddress();
if (logger.isDebugEnabled())
logger.debug("\n\nCreated Messagebox at address :" + messageBoxAddress);
subscriptionId = subToBrokerWithMsgBoxSink(msgBoxAddr, topic, xpath, wseClient, subscribePermananly);
messagePuller = msgboxHandler.startPullingEventsFromMsgBox(msgBoxAddr, this, 1500L, 30000l);
if (logger.isDebugEnabled())
logger.debug("\n\nCreate Subscription for topic" + topic + " [Messagebox]\n\n");
Subscription subscription = new Subscription(this, subscriptionId, topic, callback, this.brokerURL);
subscription.setMessageBoxEpr(msgBoxAddr);