title: How do I call the soap service in Java?
body: <p>I would like to call the soap service that I have implemented externally in Java.</p>
  
  <p>However, the following error will continue to occur.
  'Server did not recognize the value of HTTP Header SOAPAction'</p>
  
  <p>Please see what's wrong with my code.</p>
  
  <p>test url is '<a href="http://example.com/test.asmx?op=tt" rel="nofollow noreferrer">http://example.com/test.asmx?op=tt</a>'</p>
  
  <p>** what is soapaction?????</p>
  
  <pre><code>import javax.xml.soap.*;
  
  public class SOAPClientSAAJ {
  
    // SAAJ - SOAP Client Testing
    public static void main (String args[]) {
  
     String soapEndpointUrl = "http://example.com/test.asmx" ;
       String soapAction = "http://example.com/tt" ;
  
      callSoapWebService (soapEndpointUrl , soapAction ) ;
    }
  
  private static void createSoapEnvelope (SOAPMessage soapMessage) throws SOAPException {
      SOAPPart soapPart = soapMessage .getSOAPPart () ;
  
      // SOAP Body
      SOAPBody soapBody = envelope .getBody () ;
      SOAPElement soapBodyElem1 = soapBody .addChildElement ( "element1") ;
      soapBodyElem11 .addTextNode ( "test") ;
      SOAPElement soapBodyElem2 = soapBody .addChildElement ( "element2") ;
      soapBodyElem12 .addTextNode ( "test") ;
  
  }
  
  private static void callSoapWebService (String soapEndpointUrl, String soapAction ) {
      try {
          // Create SOAP Connection
          SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory . newInstance() ;
          SOAPConnection soapConnection = soapConnectionFactory .createConnection () ;
  
          // Send SOAP Message to SOAP Server
          SOAPMessage soapResponse = soapConnection .call ( createSOAPRequest( soapAction ), soapEndpointUrl) ;
  
          // Print the SOAP Response
          System .out . println( "Response SOAP Message:" );
          soapResponse .writeTo ( System. out );
          System .out . println() ;
  
          soapConnection .close () ;
      } catch (Exception e) {
          System .err . println( "\nError occurred while sending SOAP Request to Server!\nMake sure you have the correct endpoint URL and SOAPAction!\n") ;
          e .printStackTrace () ;
      }
  }
  
    private static SOAPMessage createSOAPRequest (String soapAction) throws Exception {
      MessageFactory messageFactory = MessageFactory .newInstance () ;
      SOAPMessage soapMessage = messageFactory .createMessage () ;
  
      createSoapEnvelope (soapMessage ) ;
  
      MimeHeaders headers = soapMessage .getMimeHeaders () ;
      headers .addHeader ( "SOAPAction", soapAction) ;
  
      soapMessage .saveChanges () ;
  
      /* Print the request message, just for debugging purposes */
      System .out . println( "Request SOAP Message:" );
      soapMessage .writeTo ( System. out );
      System .out . println( "\n" );
  
      return soapMessage ;
    }
  
  }
  </code></pre>