{"id":660,"date":"2026-04-22T22:16:05","date_gmt":"2026-04-22T20:16:05","guid":{"rendered":"https:\/\/www.familie-kleinman.nl\/brain\/?p=660"},"modified":"2026-04-22T22:16:05","modified_gmt":"2026-04-22T20:16:05","slug":"the-soapui-hellscape-how-http-500-became-200","status":"publish","type":"post","link":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/","title":{"rendered":"The SoapUI Hellscape: how HTTP 500 became 200"},"content":{"rendered":"<p>I ran into one of those bugs that makes you question reality.<\/p>\n<p>Everything looked fine in SoapUI. The endpoint was correct, properties were set, requests looked clean. Yet in Jenkins, the same testcases kept failing with ModelItem errors, dreaded NullPointerExceptions, and HTTP 500 responses.<\/p>\n<p>So I did the usual:<\/p>\n<ul>\n<li>checked connectivity \u2192 fine<\/li>\n<li>tested with curl \u2192 also HTTP 500, but with a valid response<\/li>\n<li>verified the endpoint \u2192 reachable<\/li>\n<li>compared local vs build \u2192 same request<\/li>\n<\/ul>\n<p>At this point it really looked like a backend issue.<\/p>\n<p>But then things got weird.<\/p>\n<p>Running the same test in SoapUI GUI showed the exact same HTTP 500\u2026 yet the testcase didn\u2019t fail. The Maven plugin, however, treated it as a hard failure and stopped immediately.<\/p>\n<p>HUH?!?!<\/p>\n<p>That sent me digging deeper.<\/p>\n<p>I was this close to just disabling the failing teststeps. But then something caught my eye in the testcase properties.<\/p>\n<p>Wait\u2026 is that the OLD property name?<\/p>\n<p>Yes. It is.<\/p>\n<p>Can I edit it here? Nope.<\/p>\n<p>Would it still use that value even though I had already overwritten it in the testcase?<\/p>\n<p>Maybe\u2026<\/p>\n<p>Alright. Close SoapUI. Open the XML. Search. Replace.<\/p>\n<p>Is this the smoking gun?<\/p>\n<p>Restart SoapUI. Rerun the failing step.<\/p>\n<p>HTTP 200.<\/p>\n<p>\u2026wait what?! Success??<\/p>\n<p>Commit. Push. Let Jenkins run.<\/p>\n<p>Build: SUCCESS.<\/p>\n<p>The property had been renamed at some point, but not everywhere. SoapUI happily showed the \u201ccorrect\u201d value in the UI, while parts of the project were still using the old one.<\/p>\n<p>SoapUI 5.9.1 itself would happily show everything as green, even though the initial request ended in an HTTP 500.<\/p>\n<p>Meanwhile, the SoapUI Maven plugin would hard fail on that same response.<\/p>\n<p>So depending on where the request originated, it was built differently \u2014 and depending on the toolset, the outcome differed too.<\/p>\n<p>Same test. Same environment. Completely different result.<\/p>\n<p>Brain lesson learned:<\/p>\n<p>Always grep the XML.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I ran into one of those bugs that makes you question reality. Everything looked fine in SoapUI. The endpoint was correct, properties were set, requests looked clean. Yet in Jenkins, the same testcases kept failing with ModelItem errors, dreaded NullPointerExceptions, and HTTP 500 responses. So I did the usual: checked connectivity \u2192 fine tested with&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,96],"tags":[430,428,429,25],"class_list":["post-660","post","type-post","status-publish","format-standard","hentry","category-coding","category-computers","tag-differences","tag-maven","tag-properties","tag-soapui"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The SoapUI Hellscape: how HTTP 500 became 200 - Brain&#039;s Ramblings<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The SoapUI Hellscape: how HTTP 500 became 200 - Brain&#039;s Ramblings\" \/>\n<meta property=\"og:description\" content=\"I ran into one of those bugs that makes you question reality. Everything looked fine in SoapUI. The endpoint was correct, properties were set, requests looked clean. Yet in Jenkins, the same testcases kept failing with ModelItem errors, dreaded NullPointerExceptions, and HTTP 500 responses. So I did the usual: checked connectivity \u2192 fine tested with...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/\" \/>\n<meta property=\"og:site_name\" content=\"Brain&#039;s Ramblings\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-22T20:16:05+00:00\" \/>\n<meta name=\"author\" content=\"Brain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Brain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/\"},\"author\":{\"name\":\"Brain\",\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/#\\\/schema\\\/person\\\/24700e1628cfd605409636397a9bb6ab\"},\"headline\":\"The SoapUI Hellscape: how HTTP 500 became 200\",\"datePublished\":\"2026-04-22T20:16:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/\"},\"wordCount\":306,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/#\\\/schema\\\/person\\\/24700e1628cfd605409636397a9bb6ab\"},\"keywords\":[\"differences\",\"Maven\",\"Properties\",\"SoapUI\"],\"articleSection\":[\"Coding\",\"Computers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/\",\"url\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/\",\"name\":\"The SoapUI Hellscape: how HTTP 500 became 200 - Brain&#039;s Ramblings\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/#website\"},\"datePublished\":\"2026-04-22T20:16:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/2026\\\/04\\\/22\\\/the-soapui-hellscape-how-http-500-became-200\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The SoapUI Hellscape: how HTTP 500 became 200\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/#website\",\"url\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/\",\"name\":\"Brain's Ramblings\",\"description\":\"Code, commitment, caffeine, and the odd mindfart\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/#\\\/schema\\\/person\\\/24700e1628cfd605409636397a9bb6ab\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/#\\\/schema\\\/person\\\/24700e1628cfd605409636397a9bb6ab\",\"name\":\"Brain\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/brain_brain.png\",\"url\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/brain_brain.png\",\"contentUrl\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/brain_brain.png\",\"width\":1024,\"height\":1024,\"caption\":\"Brain\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/brain_brain.png\"},\"sameAs\":[\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\"],\"url\":\"https:\\\/\\\/www.familie-kleinman.nl\\\/brain\\\/index.php\\\/author\\\/brain\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The SoapUI Hellscape: how HTTP 500 became 200 - Brain&#039;s Ramblings","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/","og_locale":"en_US","og_type":"article","og_title":"The SoapUI Hellscape: how HTTP 500 became 200 - Brain&#039;s Ramblings","og_description":"I ran into one of those bugs that makes you question reality. Everything looked fine in SoapUI. The endpoint was correct, properties were set, requests looked clean. Yet in Jenkins, the same testcases kept failing with ModelItem errors, dreaded NullPointerExceptions, and HTTP 500 responses. So I did the usual: checked connectivity \u2192 fine tested with...","og_url":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/","og_site_name":"Brain&#039;s Ramblings","article_published_time":"2026-04-22T20:16:05+00:00","author":"Brain","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Brain","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/#article","isPartOf":{"@id":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/"},"author":{"name":"Brain","@id":"https:\/\/www.familie-kleinman.nl\/brain\/#\/schema\/person\/24700e1628cfd605409636397a9bb6ab"},"headline":"The SoapUI Hellscape: how HTTP 500 became 200","datePublished":"2026-04-22T20:16:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/"},"wordCount":306,"commentCount":0,"publisher":{"@id":"https:\/\/www.familie-kleinman.nl\/brain\/#\/schema\/person\/24700e1628cfd605409636397a9bb6ab"},"keywords":["differences","Maven","Properties","SoapUI"],"articleSection":["Coding","Computers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/","url":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/","name":"The SoapUI Hellscape: how HTTP 500 became 200 - Brain&#039;s Ramblings","isPartOf":{"@id":"https:\/\/www.familie-kleinman.nl\/brain\/#website"},"datePublished":"2026-04-22T20:16:05+00:00","breadcrumb":{"@id":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/2026\/04\/22\/the-soapui-hellscape-how-http-500-became-200\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.familie-kleinman.nl\/brain\/"},{"@type":"ListItem","position":2,"name":"The SoapUI Hellscape: how HTTP 500 became 200"}]},{"@type":"WebSite","@id":"https:\/\/www.familie-kleinman.nl\/brain\/#website","url":"https:\/\/www.familie-kleinman.nl\/brain\/","name":"Brain's Ramblings","description":"Code, commitment, caffeine, and the odd mindfart","publisher":{"@id":"https:\/\/www.familie-kleinman.nl\/brain\/#\/schema\/person\/24700e1628cfd605409636397a9bb6ab"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.familie-kleinman.nl\/brain\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.familie-kleinman.nl\/brain\/#\/schema\/person\/24700e1628cfd605409636397a9bb6ab","name":"Brain","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.familie-kleinman.nl\/brain\/wp-content\/uploads\/2025\/04\/brain_brain.png","url":"https:\/\/www.familie-kleinman.nl\/brain\/wp-content\/uploads\/2025\/04\/brain_brain.png","contentUrl":"https:\/\/www.familie-kleinman.nl\/brain\/wp-content\/uploads\/2025\/04\/brain_brain.png","width":1024,"height":1024,"caption":"Brain"},"logo":{"@id":"https:\/\/www.familie-kleinman.nl\/brain\/wp-content\/uploads\/2025\/04\/brain_brain.png"},"sameAs":["https:\/\/www.familie-kleinman.nl\/brain"],"url":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/author\/brain\/"}]}},"_links":{"self":[{"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/posts\/660","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/comments?post=660"}],"version-history":[{"count":1,"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/posts\/660\/revisions"}],"predecessor-version":[{"id":661,"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/posts\/660\/revisions\/661"}],"wp:attachment":[{"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/media?parent=660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/categories?post=660"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.familie-kleinman.nl\/brain\/index.php\/wp-json\/wp\/v2\/tags?post=660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}