{"id":31525,"date":"2019-10-31T21:41:41","date_gmt":"2019-10-31T18:41:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ibm-mq-i-jmeter-pervyj-kontakt\/"},"modified":"2021-02-01T11:37:08","modified_gmt":"2021-02-01T09:37:08","slug":"ibm-mq-i-jmeter-pervyj-kontakt","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ibm-mq-i-jmeter-pervyj-kontakt","title":{"rendered":"IBM MQ and JMeter: First Encounter","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hello, Habr!<\/p>\n<p>This is a prequel to my <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/413481\/\">previous publication<\/a><\/noindex> and at the same time a remake of the article <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/248453\/\">Automated Testing of Services Using the MQ Protocol with JMeter<\/a><\/noindex>.<\/p>\n<p>This time I will share my experience of integrating JMeter with IBM MQ for smooth application testing on IBM WAS. I faced this task; it was not easy. I want to help save time for everyone interested.<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/7458b6d71ab09efb72148f7683bf15f2.jpeg\" style=\"display:block;margin: 0 auto;\"><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Introduction<\/h4>\n<p>About the project: a data bus, multiple XML messages, three exchange areas (queues, databases, file systems), web services with their message processing logic. As the project evolved, manual testing became increasingly complicated. Apache JMeter was summoned to help \u2014 a powerful open-source tool with a large user community and a friendly interface. The ease of customizing the out-of-the-box version allows covering any use cases, and the promise from the lead developer to assist <i>if needed<\/i> (did assist) ultimately confirmed my choice.<\/p>\n<h4>Preparing the Initial Context<\/h4>\n<p>To interact with the queue manager, an initial context is needed. There are several types, and here <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.ibm.com\/answers\/questions\/260267\/where-are-the-jndi-administrative-objects-for-mq\/\">here<\/a><\/noindex> you can read more about it.<br \/>\nFor its creation, it is convenient to use MQ Explorer:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/0b598086251ddfed99fb27cdbc2cc04a.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 1: Adding the Initial Context<\/p>\n<p>Select the context file type and directory for storage <b>.bindings<\/b> file that will contain the description of JNDI objects:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/7dabe94856e3b7a09d202868757f429a.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 2: Choosing the Type of Initial Context<\/p>\n<p>After which you can proceed to create these objects. Start with the connection factory:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/6faad0fcb3ba5c13f28c1918212c654c.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 3: Creating the Connection Factory<\/p>\n<p>Choose a descriptive name\u2026<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/2bfeb58bf5a830b64133e02edaec7b13.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 4: Choosing the Connection Factory Name<\/p>\n<p>\u2026 and type <b>Queue Connection Factory<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/895f88e6febbecfd78dbd69b6e71c24a.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 5: Choosing the Connection Factory Type<\/p>\n<p>Protocol \u2014 <b>MQ Client<\/b> to enable remote interaction with MQ:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/404d3b516459ec0490082e226dc3fc80.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 6: Selecting the Connection Factory Protocol<\/p>\n<p>In the next step, you can select an existing factory and copy the further settings from it. Click <b>Next<\/b>, if there is none:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/3f860ad648a0fddf426df5aff1ba5a38.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 7: Choosing Settings for the Existing Connection Factory<\/p>\n<p>In the parameter selection window, it's enough to set three. On the tab <b>Connection<\/b> specify the queue manager name and the IP of the environment where it is located (leave the port) <b>1414<\/b> :<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/a005550df1e831ebb26e5bb531893c12.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 8: Configuring Connection Factory Parameters<\/p>\n<p>And on the tab <b>Channels<\/b> \u2014 the connection channel. Click <b>Finish<\/b> to finish:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/3c61bbebd94b1e7798f411e6c405e159.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 9: Completing the Creation of the Connection Factory<\/p>\n<p>Now let's create a connection to the queue:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/de74e6bcd67640fc1a63f3235281b494.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 10: Creating a target object<\/p>\n<p>Let's choose an understandable name (I prefer to specify the real name of the queue) and type <b>Queue<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/27b216daab35cfa8abdcf005a7546fc3.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 11: Choosing the name and type of the target object<\/p>\n<p>Similarly to <i>Figure 7<\/i> , we can copy settings from an existing queue. We also click <b>Next<\/b>, if it is the first one:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/73385c92456e7a8d129bf77202295654.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 12: Choosing settings for the existing target object<\/p>\n<p>In the settings window, it's enough to select the manager name and the required queue, then click <b>Finish<\/b>. After that, repeat the process as many times as necessary until all queues needed for interaction with JMeter are created:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/06ecbc41537d3d63b5a22084315ec28b.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 13: Completing the creation of the target object<\/p>\n<h4>Preparing JMeter<\/h4>\n<p>Preparing JMeter involves adding libraries necessary for interaction with MQ. They are located in %wmq_home%\/java\/lib. Copy them to %jmeter_home%\/lib\/ext before starting JMeter.<\/p>\n<ul>\n<li>com.ibm.mq.commonservices.jar<\/li>\n<li>com.ibm.mq.headers.jar<\/li>\n<li>com.ibm.mq.jar<\/li>\n<li>com.ibm.mq.jmqi.jar<\/li>\n<li>com.ibm.mq.pcf.jar<\/li>\n<li>com.ibm.mqjms.jar<\/li>\n<li>dhbcore.jar<\/li>\n<li>fscontext.jar<\/li>\n<li>jms.jar<\/li>\n<li>jta.jar<\/li>\n<li>providerutil.jar<\/li>\n<\/ul>\n<p>An alternative list suggested by <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/polarnik\/\" class=\"user_link\">polarnik<\/a><\/noindex> downward API support (simultaneously with this in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/437172\/#comment_19714316\">comments<\/a><\/noindex> with a slight nuance: javax.jms-api-2.0.jar instead of jms.jar.<br \/>\nUsing jms.jar leads to a NoClassDefFoundError, the solution for which was found by <noindex><a rel=\"nofollow\" href=\"https:\/\/stackoverflow.com\/questions\/46931561\/upgrade-of-java-8-and-mq-noclassdeffounderror\">here<\/a><\/noindex>.<\/p>\n<ul>\n<li>com.ibm.mq.allclient.jar<\/li>\n<li>fscontext.jar<\/li>\n<li>javax.jms-api-2.0.jar<\/li>\n<li>providerutil.jar<\/li>\n<\/ul>\n<p>Both library lists work successfully with JMeter 5.0 and IBM MQ 8.0.0.4.<\/p>\n<h4>Configuring the test plan<\/h4>\n<p>The necessary and sufficient set of JMeter elements looks like this:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/3a64c239b63521cbda8774b9c8717f19.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 14: Test Plan<\/p>\n<p>In the test plan example, there are five variables. Despite their small number, I recommend creating separate configuration elements for different types of variables. As the tests grow, this will significantly simplify navigation. In this case, there are two lists. The first contains connection parameters to MQ (see <i>Figure 2<\/i> and <i>Figure 4<\/i>):<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/b7c2c323f765762bb7d55f1f340fd10c.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 15: Connection parameters to MQ<\/p>\n<p>The second contains the names of target objects referencing the queues:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/2d83c4e7a0a0e8be2d5eba1def41405b.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 16: Parameterized queue names<\/p>\n<p>Next, we need to configure the JMS Publisher to send a test message to the outgoing queue:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/f00b9f9dbcbcea31fd85f66ce5f7eec3.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 17: Configuring the JMS Publisher<\/p>\n<p>And the JMS Subscriber to read the message from the incoming queue:<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/bd2f7fa06b4b154fd4ecda6c9776141f.jpeg\" style=\"display:block;margin: 0 auto;\"><br \/>\nFigure 18: Configuring the JMS Subscriber<\/p>\n<p>If everything is done correctly, the result in the listener will be filled with bright and cheerful green colors.<\/p>\n<h4>Conclusion<\/h4>\n<p>I intentionally left out the questions of routing and administration; these are quite intimate and extensive topics for separate publications.<\/p>\n<p>Additionally, there are many nuances when working with queues, databases, and files, which I would also like to discuss in detail.<\/p>\n<p>Save your time. Thank you for your attention.<\/p>\n<p><img decoding=\"async\" alt=\"IBM MQ and JMeter: First Encounter\" src=\"\/wp-content\/uploads\/2019\/04\/64ae6fbc965eb830f686616c3221681b.jpeg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/437172\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u042d\u0442\u043e \u043f\u0440\u0438\u043a\u0432\u0435\u043b \u043c\u043e\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u043c\u0435\u0439\u043a \u0441\u0442\u0430\u0442\u044c\u0438 \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b MQ \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e JMeter. \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u043f\u0440\u0438\u043c\u0438\u0440\u0435\u043d\u0438\u044f JMeter \u0438 IBM MQ \u0434\u043b\u044f \u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 IBM WAS. \u0421\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f \u0441 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439, \u043b\u0435\u0433\u043a\u043e \u043e\u043d\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c. \u0425\u043e\u0447\u0443 \u043f\u043e\u043c\u043e\u0447\u044c \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u0435\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23450,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31525","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ibm-mq-i-jmeter-pervyj-kontakt\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47IBM MQ \u0438 JMeter: \u041f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ibm-mq-i-jmeter-pervyj-kontakt\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:41:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-01T09:37:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47IBM MQ and JMeter: First Contact | ProHoster","description":"Hello, Habr!","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ibm-mq-i-jmeter-pervyj-kontakt","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47IBM MQ \u0438 JMeter: \u041f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/ibm-mq-i-jmeter-pervyj-kontakt","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:41:41+00:00","article:modified_time":"2021-02-01T09:37:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31525","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 06:34:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:15:46","updated":"2026-01-21 06:34:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/31525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=31525"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/31525\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/23450"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=31525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=31525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=31525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}