code: @Override
    public RemoteCallReturn invokeSoapCall(SoapCall<BindingProvider> soapCall) {
      BindingProvider webService = soapCall.getSoapClient();
      RemoteCallReturn.Builder builder = new RemoteCallReturn.Builder();
      synchronized (webService) {
        Object result = null;
        try {
          result = invoke(soapCall);
        } catch (InvocationTargetException e) {
          builder.withException(e.getTargetException());
        } catch (Exception e) {
          builder.withException(e);
        } finally {
          JaxWsSoapContextHandler contextHandler = getContextHandlerFromClient(webService);
          String url = getEndpointAddress(webService);
          builder.withRequestInfo(contextHandler.getLastRequestInfoBuilder().withUrl(url).build());
          builder.withResponseInfo(contextHandler.getLastResponseInfoBuilder().build());
        }
        return builder.withReturnValue(result).build();
      }
    }
docs: Invoke a SOAP call.
  
  @param soapCall the call to make to a SOAP web service
  @return information about the SOAP response