Posts

Custom SOAP Faults using Spring WS

Last updated
There are many situations when you need to write a SOAP-based webservice. Maybe you are writing a test dummy, or maybe you got the interface from some kind of architect. (Yes, there are other reasons, too.) And chances are you’ll be using Spring-WS to do this. Recently I was doing that, and I found the following inside the interface definition (WSDL): <element name="faultMessage" type="common:FaultMessage"/> <message name="faultMessage"> <part name="faultMessage" element="tns:faultMessage"/> </message> <portType name="someName"> <operation name="searchOrder"> <input message="tns:searchOrderRequest"/> <output message="tns:searchOrderResponse"/> <fault name="faultMessage" message="tns:faultMessage"/> </operation> </portType> That was a rather challenging thing! — Read more... →

Building ASP.NET Core apps on CircleCI

Last updated
Recently, my co-worker Willem pulled my attention to the .NET Microservices. Architecture for Containerized .NET Applications e-book. Although I have a strong background in Java and the Java platform, I started reading it, and soon I felt like trying it out. But building software without having automated builds and tests is not the real thing, so that was the first thing I wanted to do. I usually use CircleCI for that, but unfortunately they don’t seem to have an official guide for that. — Read more... →

Simple UML drawing with PlantUML

Last updated
Every now and then, there’s this moment where you feel a certain urge to draw a diagram. Oftentimes, I feel a similar urge to make a digital version of it. But I don’t always have professional tooling around - and no, PowerPoint or its friends are not what I’m looking for. Recently, I found a tool that fits my idea of “good tooling” rather well. So, without further ado, let me introduce you to PlantUML! — Read more... →

Impressions of the first JVMCON

Last updated
Last Tuesday was the first edition of JVMCON. This conference has a special programme committee: its audience. When the Call for Papers closed, everyone who had a ticket could see the submitted papers. Only, they could not see who submitted the paper - which let them focus on the papers themselves. Out of almost 180 papers, they had to select 13… And guess what: one of them was mine! I presented my talk for the early birds, and there were quite a lot of them! — Read more... →

I upgraded to Java 9 - Part II

Last updated
A few weeks ago, I wrote about migrating an existing Spring-application to Java 9. When I finished, two things remained to be investigated: Code coverage for unit tests. A bunch of warnings when running the application in Tomcat. Code coverage for unit tests As Alan Bateman pointed out, upgrading JaCoCo to its latest version should resolve the issue about the $jacocoData field. In fact, I thought I had done that, but somehow I kept on getting the same error every single time. — Read more... →

I upgraded to Java 9 - here's what happened

Last updated
I recently participated in a Twitter conversation about upgrading to Java 9. Like most of the people, my current projects are all on Java 8. Of course the question came up, why don’t you upgrade? Good question! Since I hadn’t even tried, I decided to see how far I could come… The component I took for my experiment is a pretty simple Spring application. It doesn’t use Spring Boot. It exposes a few REST endpoints, and calls couple of webservices over SOAP. — Read more... →

Devoxx 2017

Last updated
Almost two months ago I visited Devoxx 2017. It’s about time to write some notes on the stuff I learnt there! Event Storming & DDD workshop The week started off with a full afternoon workshop led by Stijn Vanpoucke. The workshop consisted of small pieces of theory, alternated with exercises using post-it’s and markers. A few of the theoretic pieces: An event is something that has happened in the past. It is usually phrased in past tense. — Read more... →

Getting Started with Zuul

Last updated
It’s been a while since my last post! I recently have been reading a lot about the idea of “API management” or an “API gateway”. There’s a lot of commercial offerings in this field. Many of them promise you (to some extend) ultimate flexibility and endless possibilities. My preference is for “lean and mean” approaches where I can pick the building blocks that I need. In the long run, that offers more flexibility. — Read more... →

JavaOne 2017

Last updated
This year, I had the pleasure again to visit JavaOne. Not only did I attend the conference, I was also accepted to speak, which was quite a dream come true. The session catalog contains almost 500 sessions, and I obviously visited only a subset of them. I found two topics particularly interesting and decided to attend multiple sessions on each of them. “Prepare for JDK 9” and “Migrating to Java 9 Modules” Both sessions where more or less covering the same ground, although from a different perspective. — Read more... →

Markdown to PDF

Last updated
Todays note is nothing more than a quick tip. I’m a big fan of the Markdown markup language, but sometimes I need to exchange documents with people who don’t know how to read them. Often, they prefer just Word or PDF. So I looked for a way to convert a Markdown file to a PDF file. My current solution is based on Node.js so you need to install that first. Then use npm, the package manager for javascript, to install the markdown-pdf package using — Read more... →