View Javadoc

1   /*
2    * $Id: WsdlUrlEndpointBuilder.java 7976 2007-08-21 14:26:13Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.providers.soap;
12  
13  import org.mule.impl.endpoint.AbstractEndpointBuilder;
14  import org.mule.umo.endpoint.MalformedEndpointException;
15  
16  import java.net.URI;
17  import java.util.Properties;
18  
19  /**
20   * The same as the UrlEndpointbuilder except that all parameters except the first are
21   * set as properties on the endpoint and stripped from the endpoint Uri
22   */
23  public class WsdlUrlEndpointBuilder extends AbstractEndpointBuilder
24  {
25  
26      protected void setEndpoint(URI uri, Properties props) throws MalformedEndpointException
27      {
28          address = "";
29          if (uri.getHost() != null)
30          {
31              // set the endpointUri to be a proper url if host and port are set
32              this.address = uri.getScheme() + "://" + uri.getHost();
33              if (uri.getPort() != -1)
34              {
35                  address += ":" + uri.getPort();
36              }
37          }
38          if (uri.getPath() != null)
39          {
40              address += uri.getPath();
41          }
42          String query = uri.getQuery();
43          if (query != null)
44          {
45              int i = query.indexOf("&");
46              if (i > -1)
47              {
48                  address += "?" + query.substring(0, i);
49  
50              }
51              else
52              {
53                  address += "?" + query;
54              }
55          }
56      }
57  }