public void testOperationResolution_NoSoapBodyElement() {
    Service service = Service.create(wsdlDocumentLocation, serviceQName);
    Dispatch<String> dispatch =
        service.createDispatch(portQName, String.class, Service.Mode.MESSAGE);
    assertNotNull(dispatch);

    String result = dispatch.invoke(echoBodyContent_NoLocalPart_MESSAGE);
    TestClientInvocationController testController = getInvocationController();
    InvocationContext ic = testController.getInvocationContext();
    MessageContext requestMC = ic.getRequestMessageContext();

    // Because there is no soap body to process, the runtime won't be able to determine the
    // operation
    OperationDescription opDesc = requestMC.getOperationDescription();
    assertNull("OpDesc from request MC should be null", opDesc);
  }
  public void testOperationResolution() {
    Service service = Service.create(wsdlDocumentLocation, serviceQName);
    Dispatch<String> dispatch =
        service.createDispatch(portQName, String.class, Service.Mode.PAYLOAD);
    assertNotNull(dispatch);

    String result = dispatch.invoke(echoBodyContent_PAYLOAD);
    TestClientInvocationController testController = getInvocationController();
    InvocationContext ic = testController.getInvocationContext();
    MessageContext requestMC = ic.getRequestMessageContext();

    OperationDescription opDesc = requestMC.getOperationDescription();
    assertNotNull("OpDesc from request MC should not be null", opDesc);
    // Make sure we get the correct Operation Description
    OperationDescription expectedOperationDescription = expectedOperationDescription(requestMC);
    assertSame("Wrong operation description returned", expectedOperationDescription, opDesc);
  }