title: Why does this simple webservice (deployed to weblogic11g) receive this error: "wsa:MessageAddressingHeaderRequired"?
body: <p><em><strong>Problem:</em></strong>
  I've re-created and deployed this very simple jax-ws webservice (see below) many times.
  But, I've been unable to get this simple webservice app to work!</p>
  
  <p>That is, when I submit the simple SOAP request (see "service request", below) I receive the following error:  "<em>wsa:MessageAddressingHeaderRequired</em>"</p>
  
  <p><em><strong>QUESTION:</em></strong>
  What is causing this error:  "wsa:MessageAddressingHeaderRequired"?  </p>
  
  <p><em><strong>MORE INFORMATION, BELOW...</em></strong></p>
  
  <p><em>Here is the implementation class...</em></p>
  
  <pre><code>package aaa.bbb.ccc;
  
  import ccc.bbb.aaa.testws.ObjectFactory;
  import ccc.bbb.aaa.testws.ResponseType;
  import javax.jws.WebService;
  
  @WebService(serviceName = "testws", portName = "testwsSOAP", endpointInterface = "ccc.bbb.aaa.testws.Testws", targetNamespace = "http://aaa.bbb.ccc/testws/", wsdlLocation = "WEB-INF/wsdl/testws.wsdl")
  public class testws
  {
      public ccc.bbb.aaa.testws.ResponseType multiplyOperation(ccc.bbb.aaa.testws.RequestType request)
      {
          Integer value1 = new Integer(request.getParmValue1());
          Integer value2 = new Integer(request.getParmValue2());
          Integer product = value1 * value2;
          ObjectFactory factory = new ObjectFactory();
          ResponseType response = factory.createResponseType();
          response.setValue1(value1.toString());
          response.setValue2(value2.toString());
          response.setProduct(product.toString());
          return response;
      }
  }
  </code></pre>
  
  <p><em>Here is the WSDL...</em></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:tns="http://aaa.bbb.ccc/testws/"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="testws"
      targetNamespace="http://aaa.bbb.ccc/testws/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp1="http://www.w3.org/ns/ws-policy" xmlns:fi="http://java.sun.com/xml/ns/wsit/2006/09/policy/fastinfoset/service" xmlns:tcp="http://java.sun.com/xml/ns/wsit/2006/09/policy/soaptcp/service" xmlns:wsaw="http://www.w3.org/2005/08/addressing" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" xmlns:sunrm="http://sun.com/2006/03/rm" xmlns:net="http://schemas.microsoft.com/net/2005/02/rm/policy"&gt;
      &lt;wsdl:types&gt;
          &lt;xsd:schema targetNamespace="http://aaa.bbb.ccc/testws/"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
              xmlns:Q1="http://aaa.bbb.ccc/testws"&gt;
              &lt;xsd:import schemaLocation="testws.xsd"
                  namespace="http://aaa.bbb.ccc/testws"&gt;
              &lt;/xsd:import&gt;
              &lt;xsd:element name="multiplyOperation"&gt;
                  &lt;xsd:complexType&gt;
                      &lt;xsd:sequence&gt;
                          &lt;xsd:element name="request"
                              type="Q1:requestType" /&gt;
                      &lt;/xsd:sequence&gt;
                  &lt;/xsd:complexType&gt;
              &lt;/xsd:element&gt;
              &lt;xsd:element name="multiplyOperationResponse"&gt;
                  &lt;xsd:complexType&gt;
                      &lt;xsd:sequence&gt;
                          &lt;xsd:element name="response"
                              type="Q1:responseType" /&gt;
                      &lt;/xsd:sequence&gt;
                  &lt;/xsd:complexType&gt;
              &lt;/xsd:element&gt;
          &lt;/xsd:schema&gt;
      &lt;/wsdl:types&gt;
      &lt;wsdl:message name="multiplyOperationRequest"&gt;
          &lt;wsdl:part element="tns:multiplyOperation" name="parameters" /&gt;
      &lt;/wsdl:message&gt;
      &lt;wsdl:message name="multiplyOperationResponse"&gt;
          &lt;wsdl:part element="tns:multiplyOperationResponse"
              name="parameters" /&gt;
      &lt;/wsdl:message&gt;
      &lt;wsdl:portType name="testws"&gt;
          &lt;wsdl:operation name="multiplyOperation"&gt;
              &lt;wsdl:input message="tns:multiplyOperationRequest" /&gt;
              &lt;wsdl:output message="tns:multiplyOperationResponse" /&gt;
          &lt;/wsdl:operation&gt;
      &lt;/wsdl:portType&gt;
      &lt;wsdl:binding name="testwsSOAP" type="tns:testws"&gt;
       &lt;wsaw:UsingAddressing wsdl:required="true" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/&gt;
  
          &lt;soap:binding style="document"
              transport="http://schemas.xmlsoap.org/soap/http" /&gt;
          &lt;wsdl:operation name="multiplyOperation"&gt;
              &lt;soap:operation
                  soapAction="http://aaa.bbb.ccc/testws/multiplyOperation" /&gt;
              &lt;wsdl:input&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/wsdl:input&gt;
              &lt;wsdl:output&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/wsdl:output&gt;
          &lt;/wsdl:operation&gt;
      &lt;/wsdl:binding&gt;
      &lt;wsdl:service name="testws"&gt;
          &lt;wsdl:port binding="tns:testwsSOAP" name="testwsSOAP"&gt;
              &lt;soap:address location="http://aaa.bbb.ccc/" /&gt;
          &lt;/wsdl:port&gt;
      &lt;/wsdl:service&gt;
  &lt;/wsdl:definitions&gt;
  </code></pre>
  
  <p><em>Here is the XSD...</em></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;schema xmlns="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://aaa.bbb.ccc/testws"
      xmlns:tns="http://aaa.bbb.ccc/testws"
      elementFormDefault="qualified"&gt;
  
      &lt;element name="query" type="tns:queryType"&gt;&lt;/element&gt;
  
      &lt;complexType name="queryType"&gt;
          &lt;choice&gt;
              &lt;element name="request" type="tns:requestType"&gt;&lt;/element&gt;
              &lt;element name="response" type="tns:responseType"&gt;&lt;/element&gt;
          &lt;/choice&gt;
      &lt;/complexType&gt;
  
      &lt;complexType name="requestType"&gt;
          &lt;sequence&gt;
              &lt;element name="parmValue1" type="string"&gt;&lt;/element&gt;
              &lt;element name="parmValue2" type="string"&gt;&lt;/element&gt;
          &lt;/sequence&gt;
      &lt;/complexType&gt;
  
      &lt;complexType name="responseType"&gt;
          &lt;sequence&gt;
              &lt;element name="value1" type="string"&gt;&lt;/element&gt;
              &lt;element name="value2" type="string"&gt;&lt;/element&gt;
              &lt;element name="product" type="string"&gt;&lt;/element&gt;
          &lt;/sequence&gt;
      &lt;/complexType&gt;
  &lt;/schema&gt;
  </code></pre>
  
  <p><em>Here is the test request...</em></p>
  
  <pre><code>&lt;env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"&gt;
    &lt;env:Header /&gt;
      &lt;env:Body&gt;
      &lt;multiplyOperation xmlns="http://aaa.bbb.ccc/testws/" xmlns:tes="http://aaa.bbb.ccc/testws"&gt;
        &lt;request xmlns=""&gt;
          &lt;tes:parmValue1&gt;3&lt;/tes:parmValue1&gt;
          &lt;tes:parmValue2&gt;4&lt;/tes:parmValue2&gt;
        &lt;/request&gt;
      &lt;/multiplyOperation&gt;
    &lt;/env:Body&gt;
    &lt;/env:Envelope&gt;
  </code></pre>
  
  <p><em>Here is the test response...</em></p>
  
  <pre><code>&lt;S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"&gt;
    &lt;S:Header&gt;
      &lt;FaultDetail xmlns="http://www.w3.org/2005/08/addressing"&gt;
        &lt;ProblemHeaderQName&gt;{http://www.w3.org/2005/08/addressing}Action&lt;/ProblemHeaderQName&gt;
      &lt;/FaultDetail&gt;
    &lt;/S:Header&gt;
      &lt;S:Body&gt;
      &lt;SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"&gt;
        &lt;faultcode xmlns:wsa="http://www.w3.org/2005/08/addressing"&gt;wsa:MessageAddressingHeaderRequired&lt;/faultcode&gt;
        &lt;faultstring&gt;A required header representing a Message Addressing Property is not present&lt;/faultstring&gt;
      &lt;/SOAP-ENV:Fault&gt;
    &lt;/S:Body&gt;
    &lt;/S:Envelope&gt;
  </code></pre>
  
  <p><em>Here is the Maven build script I used...</em></p>
  
  <pre><code>&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  
    &lt;groupId&gt;aaa.bbb.ccc&lt;/groupId&gt;
    &lt;artifactId&gt;testwswaronly&lt;/artifactId&gt;
    &lt;packaging&gt;war&lt;/packaging&gt;
    &lt;version&gt;1&lt;/version&gt;
  
    &lt;name&gt;testwswaronly&lt;/name&gt;
    &lt;url&gt;http://maven.apache.org&lt;/url&gt;
  
    &lt;dependencies&gt;
      &lt;dependency&gt;
        &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
        &lt;artifactId&gt;servlet-api&lt;/artifactId&gt;
        &lt;version&gt;2.5&lt;/version&gt;
        &lt;scope&gt;provided&lt;/scope&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
        &lt;groupId&gt;javax.servlet.jsp&lt;/groupId&gt;
        &lt;artifactId&gt;jsp-api&lt;/artifactId&gt;
        &lt;version&gt;2.1&lt;/version&gt;
        &lt;scope&gt;provided&lt;/scope&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
        &lt;groupId&gt;com.sun.xml.ws&lt;/groupId&gt;
        &lt;artifactId&gt;webservices-rt&lt;/artifactId&gt;
        &lt;version&gt;1.4&lt;/version&gt;
        &lt;scope&gt;provided&lt;/scope&gt;
      &lt;/dependency&gt;
    &lt;/dependencies&gt;
  
    &lt;build&gt;
      &lt;plugins&gt;
        &lt;plugin&gt;
          &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
          &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
          &lt;version&gt;2.3.2&lt;/version&gt;
          &lt;configuration&gt;
            &lt;source&gt;1.6&lt;/source&gt;
            &lt;target&gt;1.6&lt;/target&gt;
          &lt;/configuration&gt;
        &lt;/plugin&gt;
        &lt;plugin&gt;
          &lt;groupId&gt;org.jvnet.jax-ws-commons&lt;/groupId&gt;
          &lt;artifactId&gt;jaxws-maven-plugin&lt;/artifactId&gt;
          &lt;version&gt;2.2&lt;/version&gt;
          &lt;executions&gt;
            &lt;execution&gt;
              &lt;goals&gt;
                &lt;goal&gt;wsimport&lt;/goal&gt;
              &lt;/goals&gt;
              &lt;configuration&gt;
                &lt;wsdlFiles&gt;
                  &lt;wsdlFile&gt;testws.wsdl&lt;/wsdlFile&gt;
                &lt;/wsdlFiles&gt;
                &lt;staleFile&gt;${project.build.directory}/jaxws/stale/testws.stale&lt;/staleFile&gt;
              &lt;/configuration&gt;
              &lt;id&gt;wsimport-generate-testws&lt;/id&gt;
              &lt;phase&gt;generate-sources&lt;/phase&gt;
            &lt;/execution&gt;
          &lt;/executions&gt;
          &lt;dependencies&gt;
            &lt;dependency&gt;
              &lt;groupId&gt;javax.xml&lt;/groupId&gt;
              &lt;artifactId&gt;webservices-api&lt;/artifactId&gt;
              &lt;version&gt;1.4&lt;/version&gt;
            &lt;/dependency&gt;
          &lt;/dependencies&gt;
          &lt;configuration&gt;
            &lt;sourceDestDir&gt;${project.build.directory}/generated-sources/jaxws-wsimport&lt;/sourceDestDir&gt;
            &lt;xnocompile&gt;true&lt;/xnocompile&gt;
            &lt;verbose&gt;true&lt;/verbose&gt;
            &lt;extension&gt;true&lt;/extension&gt;
            &lt;catalog&gt;${basedir}/src/jax-ws-catalog.xml&lt;/catalog&gt;
          &lt;/configuration&gt;
        &lt;/plugin&gt;
        &lt;plugin&gt;
          &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
          &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
          &lt;version&gt;2.0.2&lt;/version&gt;
          &lt;configuration&gt;
            &lt;webResources&gt;
              &lt;resource&gt;
                &lt;directory&gt;src&lt;/directory&gt;
                &lt;targetPath&gt;WEB-INF&lt;/targetPath&gt;
                &lt;includes&gt;
                  &lt;include&gt;jax-ws-catalog.xml&lt;/include&gt;
                  &lt;include&gt;wsdl/**&lt;/include&gt;
                &lt;/includes&gt;
              &lt;/resource&gt;
            &lt;/webResources&gt;
          &lt;/configuration&gt;
        &lt;/plugin&gt;
      &lt;/plugins&gt;
    &lt;/build&gt;
      &lt;properties&gt;
          &lt;netbeans.hint.deploy.server&gt;WebLogic9&lt;/netbeans.hint.deploy.server&gt;
      &lt;/properties&gt;
  &lt;/project&gt;
  </code></pre>