You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2005/12/13 20:58:51 UTC
svn commit: r356596 - in
/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http:
AbstractHTTPSender.java SOAPOverHTTPSender.java
Author: saminda
Date: Tue Dec 13 11:58:50 2005
New Revision: 356596
URL: http://svn.apache.org/viewcvs?rev=356596&view=rev
Log:
TransportSenders have been updated to handle runtime proxy setting
correctly. A bug in the system has been fixed. Now we have complete
proxy support :). Test case is added
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/SOAPOverHTTPSender.java
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AbstractHTTPSender.java?rev=356596&r1=356595&r2=356596&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AbstractHTTPSender.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AbstractHTTPSender.java Tue Dec 13 11:58:50 2005
@@ -35,374 +35,386 @@
public abstract class AbstractHTTPSender {
- protected boolean chuncked = false;
+ protected boolean chuncked = false;
- protected String httpVersion = HTTPConstants.HEADER_PROTOCOL_11;
+ protected String httpVersion = HTTPConstants.HEADER_PROTOCOL_11;
- protected Log log = LogFactory.getLog(getClass().getName());
+ protected Log log = LogFactory.getLog(getClass().getName());
- protected HttpClient httpClient;
+ protected HttpClient httpClient;
- int soTimeout = HTTPConstants.DEFAULT_SO_TIMEOUT;
+ int soTimeout = HTTPConstants.DEFAULT_SO_TIMEOUT;
- int connectionTimeout = HTTPConstants.DEFAULT_CONNECTION_TIMEOUT;
+ int connectionTimeout = HTTPConstants.DEFAULT_CONNECTION_TIMEOUT;
- protected static final String ANONYMOUS = "anonymous";
+ protected static final String ANONYMOUS = "anonymous";
- protected OMOutputFormat format = new OMOutputFormat();
+ protected OMOutputFormat format = new OMOutputFormat();
- /**
- * proxydiscription
- */
- protected TransportOutDescription proxyOutSetting = null;
+ /**
+ * proxydiscription
+ */
+ protected TransportOutDescription proxyOutSetting = null;
- protected static final String PROXY_HOST_NAME = "proxy_host";
+ protected static final String PROXY_HOST_NAME = "proxy_host";
- protected static final String PROXY_PORT = "proxy_port";
+ protected static final String PROXY_PORT = "proxy_port";
public void setFormat(OMOutputFormat format) {
this.format = format;
}
public abstract void send(MessageContext msgContext,
- OMElement dataout, URL url, String soapActionString)
- throws MalformedURLException, AxisFault, IOException;
+ OMElement dataout, URL url,
+ String soapActionString)
+ throws MalformedURLException, AxisFault, IOException;
+
+ /**
+ * This is used to get the dynamically set time out values from the
+ * message context. If the values are not available or invalid then
+ * teh default values or the values set by teh configuration will be used
+ *
+ * @param msgContext
+ */
+ protected void getTimeoutValues(MessageContext msgContext) {
+ try {
+ // If the SO_TIMEOUT of CONNECTION_TIMEOUT is set by dynamically the
+ // override the static config
+ Integer tempSoTimeoutProperty = (Integer) msgContext
+ .getProperty(HTTPConstants.SO_TIMEOUT);
+ Integer tempConnTimeoutProperty = (Integer) msgContext
+ .getProperty(HTTPConstants.CONNECTION_TIMEOUT);
+
+ if (tempSoTimeoutProperty != null) {
+ soTimeout = tempSoTimeoutProperty.intValue();
+ }
+
+ if (tempConnTimeoutProperty != null) {
+ connectionTimeout = tempConnTimeoutProperty.intValue();
+ }
+ } catch (NumberFormatException nfe) {
+ //If there's a problem log it and use the default values
+ log.error("Invalid timeout value format: not a number", nfe);
+ }
+ }
+
+ /**
+ * getting host configuration to support standard http/s, proxy and NTLM support
+ */
+ protected HostConfiguration getHostConfiguration(HttpClient client,
+ MessageContext msgCtx,
+ URL targetURL)
+ throws AxisFault {
+ boolean isHostProxy = isProxyListed(msgCtx); //list the proxy
+ int port = targetURL.getPort();
+ if (port == -1)
+ port = 80;
+ // to see the host is a proxy and in the proxy list - available in axis2.xml
+ HostConfiguration config = new HostConfiguration();
+
+ if (!isHostProxy) {
+ config.setHost(targetURL.getHost(), port, targetURL.getProtocol());
+ } else {
+ //proxy and NTLM configuration
+ this.configProxyAuthentication(client, proxyOutSetting, config,
+ msgCtx);
+ }
+ return config;
+ }
- /**
- * This is used to get the dynamically set time out values from the
- * message context. If the values are not available or invalid then
- * teh default values or the values set by teh configuration will be used
- *
- * @param msgContext
- */
- protected void getTimeoutValues(MessageContext msgContext) {
- try {
- // If the SO_TIMEOUT of CONNECTION_TIMEOUT is set by dynamically the
- // override the static config
- Integer tempSoTimeoutProperty = (Integer) msgContext
- .getProperty(HTTPConstants.SO_TIMEOUT);
- Integer tempConnTimeoutProperty = (Integer) msgContext
- .getProperty(HTTPConstants.CONNECTION_TIMEOUT);
-
- if (tempSoTimeoutProperty != null) {
- soTimeout = tempSoTimeoutProperty.intValue();
- }
-
- if (tempConnTimeoutProperty != null) {
- connectionTimeout = tempConnTimeoutProperty.intValue();
- }
- } catch (NumberFormatException nfe) {
- //If there's a problem log it and use the default values
- log.error("Invalid timeout value format: not a number", nfe);
- }
- }
-
- /**
- * getting host configuration to support standard http/s, proxy and NTLM support
- */
- protected HostConfiguration getHostConfiguration(HttpClient client,
- MessageContext msgCtx, URL targetURL) throws AxisFault {
- boolean isHostProxy = isProxyListed(msgCtx); //list the proxy
- int port = targetURL.getPort();
- if (port == -1)
- port = 80;
- // to see the host is a proxy and in the proxy list - available in axis2.xml
- HostConfiguration config = new HostConfiguration();
-
- if (!isHostProxy) {
- config.setHost(targetURL.getHost(), port, targetURL.getProtocol());
- } else {
- //proxy and NTLM configuration
- this.configProxyAuthentication(client, proxyOutSetting, config,
- msgCtx);
- }
- return config;
- }
-
- /**
- * Helper method to Proxy and NTLM authentication
- *
- * @param client
- * @param proxySetting
- * @param config
- */
-
- protected void configProxyAuthentication(HttpClient client,
- TransportOutDescription proxySetting, HostConfiguration config,
- MessageContext msgCtx) throws AxisFault {
- Parameter proxyParam = proxySetting.getParameter(HTTPConstants.PROXY);
- String value = (String) proxyParam.getValue();
- String split[] = value.split(":");
-
- //values being hard coded due best practise
- String usrName = split[0];
- String domain = split[1];
- String passwd = split[2];
- //
- Credentials proxyCred ;
-
- String proxyHostName = null;
- int proxyPort = -1;
-
- if (proxyParam != null) {
- OMElement proxyParamElement = proxyParam.getParameterElement();
- Iterator ite = proxyParamElement.getAllAttributes();
- while (ite.hasNext()) {
- OMAttribute att = (OMAttribute) ite.next();
- if (att.getLocalName().equalsIgnoreCase(PROXY_HOST_NAME)) {
- proxyHostName = att.getAttributeValue();
- }
- if (att.getLocalName().equalsIgnoreCase(PROXY_PORT)) {
- proxyPort = Integer.parseInt(att.getAttributeValue());
- }
- }
- }
-
- if (domain.equals("") || domain.equals(ANONYMOUS)) {
- if (usrName.equals(ANONYMOUS) && passwd.equals(ANONYMOUS)) {
- proxyCred = new UsernamePasswordCredentials("", "");
- } else {
- proxyCred = new UsernamePasswordCredentials(usrName, passwd); //proxy
- }
- } else {
- proxyCred = new NTCredentials(usrName, passwd, proxyHostName,
- domain); //NTLM authentication with additionals prams
- }
-
- HttpTransportProperties.ProxyProperties proxyProperties = (HttpTransportProperties.ProxyProperties) msgCtx
- .getProperty(HTTPConstants.PROXY);
- if (proxyProperties != null) {
- if (proxyProperties.getProxyPort() != -1) {
- proxyPort = proxyProperties.getProxyPort();
- }
- if (proxyProperties.getProxyHostName().equals("")
- || proxyProperties.getProxyHostName() != null) {
- proxyHostName = proxyProperties.getProxyHostName();
- } else {
- throw new AxisFault("Proxy Name is not valied");
- }
- if (proxyProperties.getUserName().equals(ANONYMOUS)
- || proxyProperties.getPassWord().equals(ANONYMOUS)) {
- proxyCred = new UsernamePasswordCredentials("", "");
- }
- }
- client.getState().setProxyCredentials(AuthScope.ANY, proxyCred);
- config.setProxy(proxyHostName, proxyPort);
- }
-
- private boolean isProxyListed(MessageContext msgCtx) throws AxisFault {
- boolean returnValue = false;
- Parameter par = null;
- proxyOutSetting = msgCtx.getConfigurationContext().getAxisConfiguration()
- .getTransportOut(new QName(Constants.TRANSPORT_HTTP));
- if (proxyOutSetting != null) {
- par = proxyOutSetting.getParameter(HTTPConstants.PROXY);
- }
- OMElement hostElement;
- if (par != null) {
- hostElement = par.getParameterElement();
- } else {
- return returnValue;
- }
-
- if (hostElement != null) {
- Iterator ite = hostElement.getAllAttributes();
- while (ite.hasNext()) {
- OMAttribute attribute = (OMAttribute) ite.next();
- if (attribute.getLocalName().equalsIgnoreCase(PROXY_HOST_NAME)) {
- returnValue = true;
- }
- }
- }
+ /**
+ * Helper method to Proxy and NTLM authentication
+ *
+ * @param client
+ * @param proxySetting
+ * @param config
+ */
+
+ protected void configProxyAuthentication(HttpClient client,
+ TransportOutDescription proxySetting,
+ HostConfiguration config,
+ MessageContext msgCtx)
+ throws AxisFault {
+ Parameter proxyParam = proxySetting.getParameter(HTTPConstants.PROXY);
+ String usrName = null;
+ String domain = null;
+ String passwd = null;
+ Credentials proxyCred = null;
+
+ String proxyHostName = null;
+ int proxyPort = -1;
+ if (proxyParam != null) {
+ String value = (String) proxyParam.getValue();
+ String split[] = value.split(":");
+
+ //values being hard coded due best practise
+ usrName = split[0];
+ domain = split[1];
+ passwd = split[2];
+ //
+
+ OMElement proxyParamElement = proxyParam.getParameterElement();
+ Iterator ite = proxyParamElement.getAllAttributes();
+ while (ite.hasNext()) {
+ OMAttribute att = (OMAttribute) ite.next();
+ if (att.getLocalName().equalsIgnoreCase(PROXY_HOST_NAME)) {
+ proxyHostName = att.getAttributeValue();
+ }
+ if (att.getLocalName().equalsIgnoreCase(PROXY_PORT)) {
+ proxyPort = Integer.parseInt(att.getAttributeValue());
+ }
+ }
+
+
+ if (domain.equals("") || domain.equals(ANONYMOUS)) {
+ if (usrName.equals(ANONYMOUS) && passwd.equals(ANONYMOUS)) {
+ proxyCred = new UsernamePasswordCredentials("", "");
+ } else {
+ proxyCred = new UsernamePasswordCredentials(usrName,
+ passwd); //proxy
+ }
+ } else {
+ proxyCred = new NTCredentials(usrName, passwd, proxyHostName,
+ domain); //NTLM authentication with additionals prams
+ }
+ }
+
+ HttpTransportProperties.ProxyProperties proxyProperties =
+ (HttpTransportProperties.ProxyProperties) msgCtx
+ .getProperty(HTTPConstants.PROXY);
+ if (proxyProperties != null) {
+ if (proxyProperties.getProxyPort() != -1) {
+ proxyPort = proxyProperties.getProxyPort();
+ }
+ if (!proxyProperties.getProxyHostName().equals("")
+ || proxyProperties.getProxyHostName() != null) {
+ proxyHostName = proxyProperties.getProxyHostName();
+ } else {
+ throw new AxisFault("Proxy Name is not valid");
+ }
+ if (proxyProperties.getUserName().equals(ANONYMOUS)
+ || proxyProperties.getPassWord().equals(ANONYMOUS)) {
+ proxyCred = new UsernamePasswordCredentials("", "");
+ }
+ }
+ client.getState().setProxyCredentials(AuthScope.ANY, proxyCred);
+ config.setProxy(proxyHostName, proxyPort);
+ }
+
+ private boolean isProxyListed(MessageContext msgCtx) throws AxisFault {
+ boolean returnValue = false;
+ Parameter par = null;
+ proxyOutSetting =
+ msgCtx.getConfigurationContext().getAxisConfiguration()
+ .getTransportOut(new QName(Constants.TRANSPORT_HTTP));
+ if (proxyOutSetting != null) {
+ par = proxyOutSetting.getParameter(HTTPConstants.PROXY);
+ }
+ OMElement hostElement = null;
+ if (par != null) {
+ hostElement = par.getParameterElement();
+ }
+
+ if (hostElement != null) {
+ Iterator ite = hostElement.getAllAttributes();
+ while (ite.hasNext()) {
+ OMAttribute attribute = (OMAttribute) ite.next();
+ if (attribute.getLocalName().equalsIgnoreCase(PROXY_HOST_NAME))
+ {
+ returnValue = true;
+ }
+ }
+ }
HttpTransportProperties.ProxyProperties proxyProperties;
- if ((proxyProperties = (HttpTransportProperties.ProxyProperties) msgCtx
- .getProperty(HTTPConstants.PROXY)) != null) {
- if (proxyProperties.getProxyHostName() != null) {
- returnValue = true;
- }
- }
- return returnValue;
- }
-
- /**
- * Collect the HTTP header information and set them in the message context
- *
- * @param method
- * @param msgContext
- */
- protected void obatainHTTPHeaderInformation(HttpMethodBase method,
- MessageContext msgContext) {
- Header header = method
- .getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
- if (header != null) {
- HeaderElement[] headers = header.getElements();
- for (int i = 0; i < headers.length; i++) {
- NameValuePair charsetEnc = headers[i]
- .getParameterByName(HTTPConstants.CHAR_SET_ENCODING);
- if (headers[i].getName().equalsIgnoreCase(
- HTTPConstants.HEADER_ACCEPT_MULTIPART_RELATED)) {
- OperationContext opContext = msgContext
- .getOperationContext();
- if (opContext != null) {
- opContext.setProperty(
- HTTPConstants.MTOM_RECIVED_CONTENT_TYPE, header
- .getValue());
- }
- } else if (charsetEnc != null) {
-
- msgContext.setProperty(
- MessageContext.CHARACTER_SET_ENCODING, charsetEnc
- .getValue()); //change to the value, which is text/xml or application/xml+soap
- }
- }
- }
- }
-
- protected void processResponse(HttpMethodBase httpMethod,
- MessageContext msgContext) throws IOException {
- obatainHTTPHeaderInformation(httpMethod, msgContext);
- InputStream in = httpMethod.getResponseBodyAsStream();
- if (in == null) {
- throw new AxisFault(Messages.getMessage("canNotBeNull",
- "InputStream"));
- }
- msgContext.getOperationContext().setProperty(
- MessageContext.TRANSPORT_IN, in);
- }
-
- public class AxisRequestEntity implements RequestEntity {
-
- private String charSetEnc;
-
- private OMElement element;
-
- private boolean chuncked;
-
- private byte[] bytes;
-
- private boolean doingMTOM = false;
-
- private String soapActionString;
-
- private MessageContext msgCtxt;
-
- public AxisRequestEntity(OMElement element, boolean chuncked,
- MessageContext msgCtxt, String charSetEncoding,
- String soapActionString) {
- this.element = element;
- this.chuncked = chuncked;
- this.msgCtxt = msgCtxt;
- this.doingMTOM = msgCtxt.isDoingMTOM();
- this.charSetEnc = charSetEncoding;
- this.soapActionString = soapActionString;
- }
-
- public boolean isRepeatable() {
- return true;
- }
-
- public byte[] writeBytes() throws AxisFault {
- try {
- ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+ if ((proxyProperties = (HttpTransportProperties.ProxyProperties) msgCtx
+ .getProperty(HTTPConstants.PROXY)) != null) {
+ if (proxyProperties.getProxyHostName() != null) {
+ returnValue = true;
+ }
+ }
+ return returnValue;
+ }
+
+ /**
+ * Collect the HTTP header information and set them in the message context
+ *
+ * @param method
+ * @param msgContext
+ */
+ protected void obatainHTTPHeaderInformation(HttpMethodBase method,
+ MessageContext msgContext) {
+ Header header = method
+ .getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
+ if (header != null) {
+ HeaderElement[] headers = header.getElements();
+ for (int i = 0; i < headers.length; i++) {
+ NameValuePair charsetEnc = headers[i]
+ .getParameterByName(HTTPConstants.CHAR_SET_ENCODING);
+ if (headers[i].getName().equalsIgnoreCase(
+ HTTPConstants.HEADER_ACCEPT_MULTIPART_RELATED)) {
+ OperationContext opContext = msgContext
+ .getOperationContext();
+ if (opContext != null) {
+ opContext.setProperty(
+ HTTPConstants.MTOM_RECIVED_CONTENT_TYPE, header
+ .getValue());
+ }
+ } else if (charsetEnc != null) {
+
+ msgContext.setProperty(
+ MessageContext.CHARACTER_SET_ENCODING, charsetEnc
+ .getValue()); //change to the value, which is text/xml or application/xml+soap
+ }
+ }
+ }
+ }
+
+ protected void processResponse(HttpMethodBase httpMethod,
+ MessageContext msgContext)
+ throws IOException {
+ obatainHTTPHeaderInformation(httpMethod, msgContext);
+ InputStream in = httpMethod.getResponseBodyAsStream();
+ if (in == null) {
+ throw new AxisFault(Messages.getMessage("canNotBeNull",
+ "InputStream"));
+ }
+ msgContext.getOperationContext().setProperty(
+ MessageContext.TRANSPORT_IN, in);
+ }
+
+ public class AxisRequestEntity implements RequestEntity {
- if (!doingMTOM) {
- OMOutputFormat format2 = new OMOutputFormat();
+ private String charSetEnc;
+
+ private OMElement element;
+
+ private boolean chuncked;
+
+ private byte[] bytes;
+
+ private boolean doingMTOM = false;
+
+ private String soapActionString;
+
+ private MessageContext msgCtxt;
+
+ public AxisRequestEntity(OMElement element, boolean chuncked,
+ MessageContext msgCtxt, String charSetEncoding,
+ String soapActionString) {
+ this.element = element;
+ this.chuncked = chuncked;
+ this.msgCtxt = msgCtxt;
+ this.doingMTOM = msgCtxt.isDoingMTOM();
+ this.charSetEnc = charSetEncoding;
+ this.soapActionString = soapActionString;
+ }
+
+ public boolean isRepeatable() {
+ return true;
+ }
+
+ public byte[] writeBytes() throws AxisFault {
+ try {
+ ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+
+ if (!doingMTOM) {
+ OMOutputFormat format2 = new OMOutputFormat();
format2.setCharSetEncoding(charSetEnc);
element.serializeAndConsume(bytesOut, format2);
return bytesOut.toByteArray();
- } else {
- format.setCharSetEncoding(charSetEnc);
+ } else {
+ format.setCharSetEncoding(charSetEnc);
format.setDoOptimize(true);
element.serializeAndConsume(bytesOut, format);
return bytesOut.toByteArray();
- }
- } catch (XMLStreamException e) {
- throw new AxisFault(e);
- } catch (FactoryConfigurationError e) {
- throw new AxisFault(e);
- }
- }
-
- private void handleOMOutput(OutputStream out, boolean doingMTOM)
- throws XMLStreamException {
- format.setDoOptimize(doingMTOM);
+ }
+ } catch (XMLStreamException e) {
+ throw new AxisFault(e);
+ } catch (FactoryConfigurationError e) {
+ throw new AxisFault(e);
+ }
+ }
+
+ private void handleOMOutput(OutputStream out, boolean doingMTOM)
+ throws XMLStreamException {
+ format.setDoOptimize(doingMTOM);
element.serializeAndConsume(out, format);
- }
+ }
- public void writeRequest(OutputStream out) throws IOException {
- try {
- if (doingMTOM) { //chagened ..
- if (chuncked) {
- this.handleOMOutput(out, doingMTOM);
- } else {
- if (bytes == null) {
- bytes = writeBytes();
- }
- out.write(bytes);
- }
-
- } else {
- if (chuncked) {
- this.handleOMOutput(out, doingMTOM);
- } else {
- if (bytes == null) {
- bytes = writeBytes();
- }
- out.write(bytes);
- }
- }
- out.flush();
- } catch (XMLStreamException e) {
- throw new AxisFault(e);
- } catch (FactoryConfigurationError e) {
- throw new AxisFault(e);
- } catch (IOException e) {
- throw new AxisFault(e);
- }
- }
-
- public long getContentLength() {
- try {
- if (doingMTOM) { //chagened
- if (chuncked) {
- return -1;
- } else {
- if (bytes == null) {
- bytes = writeBytes();
- }
- return bytes.length;
- }
- } else {
- if (chuncked) {
- return -1;
- } else {
- if (bytes == null) {
- bytes = writeBytes();
- }
- return bytes.length;
- }
- }
- } catch (AxisFault e) {
- return -1;
- }
- }
+ public void writeRequest(OutputStream out) throws IOException {
+ try {
+ if (doingMTOM) { //chagened ..
+ if (chuncked) {
+ this.handleOMOutput(out, doingMTOM);
+ } else {
+ if (bytes == null) {
+ bytes = writeBytes();
+ }
+ out.write(bytes);
+ }
+
+ } else {
+ if (chuncked) {
+ this.handleOMOutput(out, doingMTOM);
+ } else {
+ if (bytes == null) {
+ bytes = writeBytes();
+ }
+ out.write(bytes);
+ }
+ }
+ out.flush();
+ } catch (XMLStreamException e) {
+ throw new AxisFault(e);
+ } catch (FactoryConfigurationError e) {
+ throw new AxisFault(e);
+ } catch (IOException e) {
+ throw new AxisFault(e);
+ }
+ }
+
+ public long getContentLength() {
+ try {
+ if (doingMTOM) { //chagened
+ if (chuncked) {
+ return -1;
+ } else {
+ if (bytes == null) {
+ bytes = writeBytes();
+ }
+ return bytes.length;
+ }
+ } else {
+ if (chuncked) {
+ return -1;
+ } else {
+ if (bytes == null) {
+ bytes = writeBytes();
+ }
+ return bytes.length;
+ }
+ }
+ } catch (AxisFault e) {
+ return -1;
+ }
+ }
- public String getContentType() {
- String encoding = format.getCharSetEncoding();
+ public String getContentType() {
+ String encoding = format.getCharSetEncoding();
String contentType = format.getContentType();
- if (encoding != null) {
- contentType += "; charset=" + encoding;
- }
-
- // action header is not mandated in SOAP 1.2. So putting it, if available
- if (!msgCtxt.isSOAP11() && soapActionString != null
- && !"".equals(soapActionString.trim())) {
- contentType = contentType + ";action=\"" + soapActionString
- + "\";";
- }
- return contentType;
- }
- }
+ if (encoding != null) {
+ contentType += "; charset=" + encoding;
+ }
+
+ // action header is not mandated in SOAP 1.2. So putting it, if available
+ if (!msgCtxt.isSOAP11() && soapActionString != null
+ && !"".equals(soapActionString.trim())) {
+ contentType = contentType + ";action=\"" + soapActionString
+ + "\";";
+ }
+ return contentType;
+ }
+ }
}
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/SOAPOverHTTPSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/SOAPOverHTTPSender.java?rev=356596&r1=356595&r2=356596&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/SOAPOverHTTPSender.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/SOAPOverHTTPSender.java Tue Dec 13 11:58:50 2005
@@ -52,7 +52,6 @@
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(
connectionTimeout);
- //todo giving proxy and NTLM support
PostMethod postMethod = new PostMethod(url.toString());