public void run() {
      LocalTransport transport = new LocalTransport(server);
      transport.setRemoteService(SERVICE_NAME);
      Call call = new Call(new Service());
      call.setTransport(transport);

      for (int i = 0; i < reps; i++) {
        try {
          String ret = (String) call.invoke("hello", null);
          if (ret == null) {
            MessageContext msgContext = call.getMessageContext();
            String respStr = msgContext.getResponseMessage().getSOAPPartAsString();

            String reqStr = msgContext.getRequestMessage().getSOAPPartAsString();
            String nullStr =
                "Got null response! Request message:\r\n"
                    + reqStr
                    + "\r\n\r\n"
                    + "Response message:\r\n"
                    + respStr;
            log.fatal(nullStr);
            setError(new Exception(nullStr));
          } else if (!ret.equals(TestService.MESSAGE)) {
            setError(
                new Exception(
                    "Messages didn't match (got '"
                        + ret
                        + "' wanted '"
                        + TestService.MESSAGE
                        + "'!"));
            return;
          }
        } catch (AxisFault axisFault) {
          setError(axisFault);
          return;
        }
      }
    }