title: SOAPExceptionImpl: Invalid Content-Type:text/html. Is this an error message instead of a SOAP response?
body: <p>I need help with calling a web service. 
  I use <code>org.springframework.ws.client</code> to call WS, code looks like: </p>
  
  <pre><code>Response response = (Response) getWebServiceTemplate().marshalSendAndReceive(
                  "http://ip:port/DefaultRequestListener?workflow=WsdlCPF&amp;soapAction=Import",
                  request,
                  new SoapActionCallback("http://ip:port/DefaultRequestListener?workflow=WsdlCPF&amp;soapAction=Import"));
  </code></pre>
  
  <p>Also I can call WS and receive response using this link <code>http://ip:port/DefaultRequestListener?workflow=WsdlCPF&amp;soapAction=Import</code> (it looks strange) using SOAP UP. It works fine.</p>
  
  <p>After run code from IDE I receive next stack trace:</p>
  
  <pre><code>Exception in thread "main" java.lang.IllegalStateException: Failed to execute CommandLineRunner
      at org.springframework.boot.SpringApplication.runCommandLineRunners(SpringApplication.java:677)
      at org.springframework.boot.SpringApplication.afterRefresh(SpringApplication.java:693)
      at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
      at org.springframework.boot.SpringApplication.run(SpringApplication.java:969)
      at org.springframework.boot.SpringApplication.run(SpringApplication.java:958)
      at com.mayacomp.feeder.Application.main(Application.java:33)
  Caused by: org.springframework.ws.soap.SoapMessageCreationException: Could not create message from InputStream: Invalid Content-Type:text/html. Is this an error message instead of a SOAP response?; nested exception is com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Invalid Content-Type:text/html. Is this an error message instead of a SOAP response?
      at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:216)
      at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:60)
      at org.springframework.ws.transport.AbstractWebServiceConnection.receive(AbstractWebServiceConnection.java:92)
      at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:611)
      at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:555)
      at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:390)
      at com.mayacomp.feeder.Client.createApplication(ExternalChannelClient.java:133)
      at com.mayacomp.feeder.Application.lambda$0(Application.java:45)
      at org.springframework.boot.SpringApplication.runCommandLineRunners(SpringApplication.java:674)
      ... 5 more
  Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Invalid Content-Type:text/html. Is this an error message instead of a SOAP response?
      at com.sun.xml.internal.messaging.saaj.soap.MessageImpl.identifyContentType(Unknown Source)
      at com.sun.xml.internal.messaging.saaj.soap.MessageImpl.&lt;init&gt;(Unknown Source)
      at com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl.&lt;init&gt;(Unknown Source)
      at com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl.createMessage(Unknown Source)
      at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:188)
      ... 13 more
  </code></pre>
  
  <p>So the root problem is:
  <code>Invalid Content-Type:text/html. Is this an error message instead of a SOAP response?</code></p>
  
  <p>Could you recommend some workarounds to solve this problem?
  I am ready to get any additional info if need.</p>
  
  <p><strong>UPDATE</strong>
  As I understood the problem is in the next things:</p>
  
  <p>In the request sent by client I have:</p>
  
  <pre><code>&lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"&gt;
      &lt;SOAP-ENV:Header/&gt;
      &lt;SOAP-ENV:Body&gt;
          &lt;ns3:request xmlns:ns3="http://mayacom/Generic/Ws"&gt;
  </code></pre>
  
  <p>but should have:</p>
  
  <pre><code>&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://mayacom/Generic/Ws"&gt;
      &lt;soapenv:Header/&gt;
      &lt;soapenv:Body&gt;
          &lt;ws:request&gt;
  </code></pre>
  
  <p>How do I set it up?</p>
  
  <pre><code>@Bean
  public Jaxb2Marshaller marshaller() {
      Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
      marshaller.setContextPath("com.mayacomp.feeder.Client");
      return marshaller;
  }
  
  
  @Bean
  public ExternalChannelClient externalChannelClient(Jaxb2Marshaller marshaller) {
      ExternalChannelClient client = new ExternalChannelClient();
      client.setDefaultUri("http://ip:port/DefaultRequestListener?workflow=WsdlCPF&amp;soapAction=Import");
      client.setMarshaller(marshaller);
      client.setUnmarshaller(marshaller);
      return client;
  }   
  </code></pre>