}
if (responseRequestor == null) {
throw new IllegalArgumentException("responseRequestor is required");
}
if (marshaller == null) {
marshaller = new DefaultMarshaller();
}
if (metadataStrategy == null) {
metadataStrategy = new SimpleMetadataStrategy(true);
}
if (invocationFactory == null) {