/** * Create an instance of {@link Subscribe } * */ public Subscribe createSubscribe() { return new Subscribe(); }
Subscribe subscribeRequest = new Subscribe(); if (initialTerminationTime != null) { subscribeRequest.setInitialTerminationTime( new JAXBElement<String>(QNAME_INITIAL_TERMINATION_TIME, String.class, initialTerminationTime)); subscribeRequest.setConsumerReference(consumer.getEpr()); subscribeRequest.setFilter(new FilterType()); if (topic != null) { TopicExpressionType topicExp = new TopicExpressionType(); topicExp.getContent().add(topic); subscribeRequest.getFilter().getAny().add( new JAXBElement<TopicExpressionType>(QNAME_TOPIC_EXPRESSION, TopicExpressionType.class, topicExp)); xpathExp.setDialect(XPATH1_URI); xpathExp.getContent().add(xpath); subscribeRequest.getFilter().getAny().add( new JAXBElement<QueryExpressionType>(QNAME_MESSAGE_CONTENT, QueryExpressionType.class, xpathExp)); subscribeRequest.setSubscriptionPolicy(new Subscribe.SubscriptionPolicy()); subscribeRequest.getSubscriptionPolicy().getAny().add(new UseRaw());
@Override protected Object startSubscription(TopicExpressionType topic) { try { Subscribe subscribeRequest = new Subscribe(); subscribeRequest.setConsumerReference(notificationBroker.getEpr()); subscribeRequest.setFilter(new FilterType()); subscribeRequest.getFilter().getAny().add( new JAXBElement<TopicExpressionType>(AbstractSubscription.QNAME_TOPIC_EXPRESSION, TopicExpressionType.class, topic)); SubscribeResponse response = notificationProducer.subscribe(subscribeRequest); return WSNHelper.getInstance() .getPort(response.getSubscriptionReference(), SubscriptionManager.class); } catch (Exception e) { LOGGER.log(Level.INFO, "Error while subscribing on-demand publisher", e); return null; } }
/** * Creates a {@link Subscribe WS-Notification Subscribe message} from the * specified subscriber's endpoint and topic information. * * @param subscriberEndpoint * subscriber's endpoint. * @param topic * the QName associated to the topic to subscribe to. * * @return a WS-Notification Subscribe message with the specified * subscriber's endpoint and topic information. */ public static Subscribe createSubscribeMessage(String subscriberEndpoint, QName topic) { Subscribe subscribeRequest = new Subscribe(); FilterType filterType = new FilterType(); JAXBElement<TopicExpressionType> jaxbElement = new JAXBElement<TopicExpressionType>( WsnConstants.TOPIC_EXPRESSION_QNAME, TopicExpressionType.class, createTopicExpressionType(topic)); filterType.getAny().add(jaxbElement); subscribeRequest.setFilter(filterType); subscribeRequest.setConsumerReference(WSNHelper.createWSA(subscriberEndpoint)); return subscribeRequest; }
consumerReference = subscribeRequest.getConsumerReference(); if (subscribeRequest.getInitialTerminationTime() != null && !subscribeRequest.getInitialTerminationTime().isNil() && subscribeRequest.getInitialTerminationTime().getValue() != null) { String strTerminationTime = subscribeRequest.getInitialTerminationTime().getValue(); terminationTime = validateInitialTerminationTime(strTerminationTime.trim()); if (subscribeRequest.getFilter() != null) { for (Object f : subscribeRequest.getFilter().getAny()) { JAXBElement<?> e = null; if (f instanceof JAXBElement) { if (subscribeRequest.getSubscriptionPolicy() != null) { for (Object p : subscribeRequest.getSubscriptionPolicy().getAny()) { JAXBElement<?> e = null; if (p instanceof JAXBElement) {
subscribe.getConsumerReference(), "consumer"); List<Object> any = subscribe.getAny(); if ((any != null) && (any.size() != 0)) { log.info("any values are:"); FilterType filterType = subscribe.getFilter();
protected static String AddSubscription(Subscribe subscribeRequest) { String s = UUID.randomUUID().toString(); SubscriptionInfo info = new SubscriptionInfo(); info.data = subscribeRequest; info.callback = WSNUtility.getWSAAddress(subscribeRequest.getConsumerReference()); info.subid = s; info.topics = new ArrayList<String>(); for (int i = 0; i < subscribeRequest.getFilter().getAny().size(); i++) { if ((subscribeRequest.getFilter().getAny().get(i) instanceof JAXBElement)) { JAXBElement<TopicExpressionType> te = (JAXBElement<TopicExpressionType>) subscribeRequest.getFilter().getAny().get(i); info.topics = WSNUtility.topicExpressionToList(te.getValue()); } } currentSubscriptions.put(s, info); log.log(Level.INFO, "adding subscription " + info.subid + " topics " + WSNUtility.listStringtoString(info.topics) + " to address " + info.callback); return s; }
@SuppressWarnings("unchecked") private static TopicExpressionType getTopicExpressionType(Subscribe subscribe) { FilterType filterType = subscribe.getFilter(); if (filterType != null) { List<Object> any = filterType.getAny(); if (any != null) { for (Object obj : any) { try { return ((JAXBElement<TopicExpressionType>) obj).getValue(); } catch (ClassCastException e) { // Not a TopicExpressionType, ignore it } } } throw new IllegalArgumentException( "No topic expression type set in the subscribe message"); } else { throw new IllegalArgumentException( "No filter set in the subscribe message"); } }
@Override protected void validateSubscription(Subscribe subscribeRequest) //CHECKSTYLE:OFF - WS-Notification spec throws a lot of faults throws InvalidFilterFault, InvalidMessageContentExpressionFault, InvalidProducerPropertiesExpressionFault, InvalidTopicExpressionFault, SubscribeCreationFailedFault, TopicExpressionDialectUnknownFault, TopicNotSupportedFault, UnacceptableInitialTerminationTimeFault, UnsupportedPolicyRequestFault, UnrecognizedPolicyRequestFault { //CHECKSTYLE:ON super.validateSubscription(subscribeRequest); // TODO: implement raw notifications if (useRaw) { SubscribeCreationFailedFaultType fault = new SubscribeCreationFailedFaultType(); throw new SubscribeCreationFailedFault("Raw notifications are not supported", fault); } try { consumer = WSNHelper.getInstance().getPort(subscribeRequest.getConsumerReference(), NotificationConsumer.class); } catch (Exception e) { SubscribeCreationFailedFaultType fault = new SubscribeCreationFailedFaultType(); throw new SubscribeCreationFailedFault("Unable to resolve consumer reference endpoint", fault, e); } }
if (subscribeRequest.getFilter() == null || subscribeRequest.getFilter().getAny().isEmpty()) { InvalidFilterFault iff = new InvalidFilterFault("at least one filter of WS-Topic must be specified", new InvalidFilterFaultType()); throw iff; for (int i = 0; i < subscribeRequest.getFilter().getAny().size(); i++) { if (!(subscribeRequest.getFilter().getAny().get(i) instanceof JAXBElement)) { JAXBElement<TopicExpressionType> item = (JAXBElement<TopicExpressionType>) subscribeRequest.getFilter().getAny().get(i); org.oasis_open.docs.wsn.b_2.TopicExpressionType te = item.getValue(); if (!te.getDialect().equalsIgnoreCase(WSNConstants.WST_TOPICEXPRESSION_SIMPLE)) { if (subscribeRequest.getConsumerReference() == null) { SubscribeCreationFailedFault iff = new SubscribeCreationFailedFault("Invalid callback address.", new SubscribeCreationFailedFaultType()); throw iff;
/** * Create an instance of {@link Subscribe } * */ public Subscribe createSubscribe() { return new Subscribe(); }
/** * Create an instance of {@link Subscribe } * */ public Subscribe createSubscribe() { return new Subscribe(); }
try{ // You can now use the Subscribe model without its namespace // as you referenced it by its namespace in a use statement. $subscribe = new Subscribe(); // If you want to use a class that is not referenced in a use // statement then you must reference it by its full namespace. $otherModel = new \App\Models\Other\Namespace\OtherModel(); $otherModel = $input['Name']; $otherModel = $input['Email']; $otherModel = $input['Telephone']; // save $otherModel->save(); } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { \Log::error( $e->getMessage(), $context ); } catch (Exception $e){ \Log::error( $e->getMessage(), $context); } return response()->json( ['status'=>'success', 'message'=>'Completed successfully'] ); }
ActorRef subSocket = ZeroMQExtension.get(getContext().system()) .newSubSocket(null, new Listener(getSelf()), new Subscribe("health")); @Override public void preStart() { super.preStart(); subSocket.tell(new Connect("tcp://127.0.0.1:1237")); subSocket.tell(new Connect("tcp://127.0.0.1:1238")); }