Getting java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl despite the dependencies are defined

The first part of the answer by @reta works for me. These are the relevant dependencies from my pom (Java 10): <dependency> <groupId>javax.xml.ws</groupId> <artifactId>jaxws-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>rt</artifactId> <version>2.3.1</version> </dependency>

Why does a SOAP message have to be sent over HTTP?

Overview SOAP is a messaging protocol and in a nutshell is just another XML language. Its purpose is the data exchange over networks. Its concern is the encapsulation of these data and the rules for transmitting and receiving them. HTTP is an application protocol and SOAP messages are placed as the HTTP payload. Although there … Read more

HttpDelete with body

Have you tried overriding HttpEntityEnclosingRequestBase as follows: import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; import java.net.URI; import org.apache.http.annotation.NotThreadSafe; @NotThreadSafe class HttpDeleteWithBody extends HttpEntityEnclosingRequestBase { public static final String METHOD_NAME = “DELETE”; public String getMethod() { return METHOD_NAME; } public HttpDeleteWithBody(final String uri) { super(); setURI(URI.create(uri)); } public HttpDeleteWithBody(final URI uri) { super(); setURI(uri); } public HttpDeleteWithBody() { super(); } } … Read more

Error consuming webservice, content type “application/xop+xml” does not match expected type “text/xml”

For anyone suffering from the same problem; I’ve found a solution for consuming the web service as a Service Reference (WCF). The BasicHttpBinding.MessageEncoding property needs setting to “Mtom”. Here’s a snippet of the required config setting: <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding messageEncoding=”Mtom”> </binding> </basicHttpBinding> </bindings> </system.serviceModel> </configuration> Edit: If you are having the same issue … Read more

JAXWS — how to change the endpoint address [duplicate]

You can achieve that using the BindingProvider interface. JAX-WS custom endpoint /** * The following snippets shows how to set a custom endpoint for a JAX-WS generated WebClient on runtime */ // Get the service and the port SampleService service = new SampleService(); Sample port = service.getESamplePort(); // Use the BindingProvider’s context to set the … Read more

javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake during web service communicaiton

Java 7 defaults to TLS 1.0, which can cause this error when that protocol is not accepted. I ran into this problem with a Tomcat application and a server that would not accept TLS 1.0 connections any longer. I added -Dhttps.protocols=TLSv1.1,TLSv1.2 to the Java options and that fixed it. (Tomcat was running Java 7.)

File not found.