1 /* 2 * Copyright 2006 the original author or authors. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.springframework.ws.transport; 18 19 import java.io.IOException; 20 21 import org.springframework.ws.WebServiceMessage; 22 23 /** 24 * Defines the methods for classes capable of sending and receiving {@link WebServiceMessage} instances across a 25 * transport. 26 * <p/> 27 * The <code>WebServiceMessageSender</code> is basically a factory for {@link WebServiceConnection} objects. 28 * 29 * @author Arjen Poutsma 30 * @see WebServiceConnection 31 * @since 1.0.0 32 */ 33 public interface WebServiceMessageSender { 34 35 /** 36 * Create a new {@link WebServiceConnection} to the specified URI. 37 * 38 * @param uri the URI to open a connection to 39 * @return the new connection 40 * @throws IOException in case of I/O errors 41 */ 42 WebServiceConnection createConnection(String uri) throws IOException; 43 44 /** 45 * Does this {@link WebServiceMessageSender} support the supplied URI? 46 * 47 * @param uri the URI to be checked 48 * @return <code>true</code> if this <code>WebServiceMessageSender</code> supports the supplied URI 49 */ 50 boolean supports(String uri); 51 52 }