У меня есть Microservice, написанный на Spring Boot.
<!-- SOAP consumer -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf</artifactId>
<version>3.3.1</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.0.1</version>
</dependency>
Но иногда, когда Soap вызывает другой сервер, он автоматически делает 2 запроса.
MyService service = new
MyService();
MyPortType portType = service
.getPort();
((BindingProvider) portType).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, user);
((BindingProvider) portType).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, pass);
((BindingProvider) portType).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
endpoint);
return portType.makeSoapCall(input);
In мое приложение, только 1 журнал запросов и 1 журнал ответов. Но на сервере это 2. Я пытался с аргументом виртуальной машины "-Dsun. net .http.retryPost = false -Dhttp.retryPost = false", но не повезло.
Итак, любой может дать мне помощь? Спасибо!