package at.gv.egiz.moazs; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.junit4.SpringRunner; import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.file.Paths; import static java.net.http.HttpClient.*; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT) public class App2MzsServiceTest { private final String serviceUri = "http://localhost:8080/services/DeliveryRequest"; private final String payloadFile = "src/test/resources/delivery_request_app2mzs.soap"; Logger logger = LoggerFactory.getLogger(App2MzsServiceTest.class); @Test public void testService() throws IOException, InterruptedException { var client = HttpClient.newBuilder().version(Version.HTTP_1_1).build(); var request = HttpRequest.newBuilder() .uri(URI.create(serviceUri)) .header("Content-Type", "text/xml;charset=UTF-8") .header("SOAPAction", "\"\"") .POST(HttpRequest.BodyPublishers.ofFile(Paths.get(payloadFile))) .build(); var response = client.send(request, HttpResponse.BodyHandlers.ofString()); logger.info("response.body was " + response.body()); logger.info("response.code was " + response.statusCode()); } }