You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by he...@apache.org on 2005/06/30 07:19:41 UTC
svn commit: r202483 - in /webservices/axis/trunk/java/modules:
core/src/org/apache/axis/ core/src/org/apache/axis/clientapi/
core/src/org/apache/axis/transport/http/
xml/src/org/apache/axis/soap/impl/llom/soap11/
xml/src/org/apache/axis/soap/impl/llom/...
Author: hemapani
Date: Wed Jun 29 22:19:39 2005
New Revision: 202483
URL: http://svn.apache.org/viewcvs?rev=202483&view=rev
Log:
fix writing the correct content type for the soap version
Modified:
webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOnlyMEPClient.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportUtils.java
webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap11/SOAP11Constants.java
webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap12/SOAP12Constants.java
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java?rev=202483&r1=202482&r2=202483&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java Wed Jun 29 22:19:39 2005
@@ -163,12 +163,6 @@
public static final String LOGGED = "Logged";
- public static interface SOAP {
- public static final String SOAP_12_CONTENT_TYPE = "application/soap+xml";
- public static final String SOAP_11_CONTENT_TYPE = "text/xml";
- //TODO
- public static final String MTOM_CONTENT_TYPE = "multipart/related";
- }
public static interface Configuration {
public static final String DO_REST = "doREST";
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOnlyMEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOnlyMEPClient.java?rev=202483&r1=202482&r2=202483&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOnlyMEPClient.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOnlyMEPClient.java Wed Jun 29 22:19:39 2005
@@ -19,7 +19,6 @@
import javax.xml.namespace.QName;
-import org.apache.axis.Constants;
import org.apache.axis.addressing.EndpointReference;
import org.apache.axis.addressing.MessageInformationHeadersCollection;
import org.apache.axis.addressing.miheaders.RelatesTo;
@@ -31,8 +30,6 @@
import org.apache.axis.engine.AxisConfiguration;
import org.apache.axis.engine.AxisEngine;
import org.apache.axis.engine.AxisFault;
-import org.apache.axis.soap.SOAPEnvelope;
-import org.apache.axis.transport.http.HTTPTransportReceiver;
import org.apache.wsdl.WSDLConstants;
public class InOnlyMEPClient extends MEPClient {
@@ -65,28 +62,6 @@
msgctx.setOperationContext(axisop.findOperationContext(msgctx,serviceContext));
engine.send(msgctx);
-
-// MessageContext response =
-// new MessageContext(msgctx.getSystemContext(),
-// msgctx.getSessionContext(),
-// msgctx.getTransportIn(),
-// msgctx.getTransportOut());
-// response.setProperty(
-// MessageContext.TRANSPORT_IN,
-// msgctx.getProperty(MessageContext.TRANSPORT_IN));
-// response.setServerSide(false);
-// response.setOperationContext(msgctx.getOperationContext());
-// response.setServiceContext(msgctx.getServiceContext());
-//
-// if(Constants.TRANSPORT_HTTP.equals(senderTransport.getName().getLocalPart())){
-// //TODO Fix this we support only the HTTP Sync cases, so we hardcode this
-// HTTPTransportReceiver receiver = new HTTPTransportReceiver();
-// receiver.checkForMessage(response, sysContext);
-// SOAPEnvelope resenvelope = response.getEnvelope();
-// if (resenvelope!= null && resenvelope.getBody().hasFault()) {
-// throw new AxisFault(resenvelope.getBody().getFault().getException());
-// }
-// }
}
/**
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java?rev=202483&r1=202482&r2=202483&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java Wed Jun 29 22:19:39 2005
@@ -196,52 +196,6 @@
new NonBlockingInvocationWorker(callback, axisop, msgctx));
}
- // //TODO start the server
- // if (!useSeparateListener) {
- // Runnable newThread = new Runnable() {
- // public void run() {
- // try {
- // MessageContext response =
- // new MessageContext(
- // msgctx.getSessionContext(),
- // msgctx.getTransportIn(),
- // msgctx.getTransportOut(),
- // msgctx.getSystemContext());
- // response.setServerSide(false);
- // response.setProperty(
- // MessageContext.TRANSPORT_READER,
- // msgctx.getProperty(
- // MessageContext.TRANSPORT_READER));
- // response.setOperationContext(
- // msgctx.getOperationContext());
- // response.setServiceContext(
- // msgctx.getServiceContext());
- //
- // SOAPEnvelope resenvelope =
- // checkReturnChannel(response);
- // if (resenvelope != null) {
- // response.setEnvelope(resenvelope);
- // AxisEngine engine =
- // new AxisEngine(
- // serviceContext.getEngineContext());
- // engine.receive(response);
- //
- // resenvelope = response.getEnvelope();
- // AsyncResult asyncResult = new AsyncResult();
- // asyncResult.setResult(resenvelope);
- // callback.onComplete(asyncResult);
- // } else {
- // throw new AxisFault("Blocking invocation always expect a response");
- // }
- // } catch (AxisFault e) {
- // callback.reportError(e);
- // }
- //
- // }
- // };
- // (new Thread(newThread)).start();
- // }
-
} catch (OMException e) {
throw AxisFault.makeFault(e);
} catch (IOException e) {
@@ -312,38 +266,6 @@
ListenerManager.makeSureStarted(listenerTransport, serviceContext.getEngineContext());
}
}
-
- // private SOAPEnvelope checkReturnChannel(MessageContext response) throws AxisFault {
- // SOAPEnvelope resenvelope = null;
- // try {
- // //TODO Fix this we support only the HTTP Sync cases, so we hardcode this
- // if (Constants.TRANSPORT_HTTP.equals(listenerTransport)) {
- // HTTPTransportReceiver receiver = new HTTPTransportReceiver();
- // resenvelope = receiver.handleHTTPRequest(response, serviceContext.getEngineContext());
- // } else if (Constants.TRANSPORT_TCP.equals(listenerTransport)) {
- // InputStream inStream = (InputStream) response.getProperty(MessageContext.TRANSPORT_IN);
- // response.setProperty(MessageContext.TRANSPORT_IN,null);
- // Reader in = new InputStreamReader(inStream);
- //
- // if (in != null) {
- // XMLStreamReader xmlreader =
- // XMLInputFactory.newInstance().createXMLStreamReader(in);
- // StAXBuilder builder = new StAXSOAPModelBuilder(xmlreader);
- // resenvelope = (SOAPEnvelope) builder.getDocumentElement();
- // } else {
- // throw new AxisFault(
- // "Sync invocation expect a proeprty "
- // + MessageContext.TRANSPORT_IN
- // + " set ");
- // }
- // }
- // } catch (XMLStreamException e) {
- // throw new AxisFault(e);
- // } catch (FactoryConfigurationError e) {
- // throw new AxisFault(e);
- // }
- // return resenvelope;
- // }
private void checkTransport(MessageContext msgctx) throws AxisFault {
if (senderTransport == null) {
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java?rev=202483&r1=202482&r2=202483&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportSender.java Wed Jun 29 22:19:39 2005
@@ -33,6 +33,8 @@
import org.apache.axis.description.TransportOutDescription;
import org.apache.axis.engine.AxisFault;
import org.apache.axis.om.OMOutput;
+import org.apache.axis.soap.impl.llom.soap11.SOAP11Constants;
+import org.apache.axis.soap.impl.llom.soap12.SOAP12Constants;
import org.apache.axis.transport.AbstractTransportSender;
/**
@@ -62,7 +64,16 @@
if(doMTOM){
buf.append(HTTPConstants.HEADER_CONTENT_TYPE).append(": ").append(OMOutput.getContentType(true)).append("\n");
}else{
- buf.append(HTTPConstants.HEADER_CONTENT_TYPE).append(": text/xml; charset=utf-8\n");
+ String nsURI = msgContext.getEnvelope().getNamespace().getName();
+ if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
+ buf.append(HTTPConstants.HEADER_CONTENT_TYPE).append(": ").append(SOAP12Constants.SOAP_12_CONTENT_TYPE);
+ buf.append("; charset=utf-8\n");
+ } else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
+ buf.append(HTTPConstants.HEADER_CONTENT_TYPE).append(": text/xml; charset=utf-8\n");
+ }else {
+ throw new AxisFault("Unknown SOAP Version. Current Axis handles only SOAP 1.1 and SOAP 1.2 messages");
+ }
+
}
buf.append(HTTPConstants.HEADER_ACCEPT).append(": application/soap+xml, application/dime, multipart/related, text/*\n");
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportUtils.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportUtils.java?rev=202483&r1=202482&r2=202483&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportUtils.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportUtils.java Wed Jun 29 22:19:39 2005
@@ -52,6 +52,7 @@
import org.apache.axis.soap.SOAPFactory;
import org.apache.axis.soap.impl.llom.SOAPProcessingException;
import org.apache.axis.soap.impl.llom.builder.StAXSOAPModelBuilder;
+import org.apache.axis.soap.impl.llom.soap11.SOAP11Constants;
import org.apache.axis.soap.impl.llom.soap11.SOAP11Factory;
import org.apache.axis.util.Utils;
@@ -77,7 +78,9 @@
builder = selectBuilderForMIME(msgContext, in, contentType);
envelope = (SOAPEnvelope) builder.getDocumentElement();
} else if (contentType != null
- && contentType.indexOf(Constants.SOAP.SOAP_11_CONTENT_TYPE) > -1) {
+ && contentType.indexOf(SOAP11Constants.SOAP_11_CONTENT_TYPE) > -1) {
+ //If the content Type is text/xml (BTW which is the SOAP 1.1 Content type ) and
+ //the SOAP Action is absent it is rest !!
if ((soapAction == null || soapAction.length() == 0)
&& Constants.VALUE_TRUE
.equals(msgContext
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap11/SOAP11Constants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap11/SOAP11Constants.java?rev=202483&r1=202482&r2=202483&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap11/SOAP11Constants.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap11/SOAP11Constants.java Wed Jun 29 22:19:39 2005
@@ -43,4 +43,7 @@
public static final String SOAP_FAULT_ACTOR_LOCAL_NAME = "faultactor";
public static final String SOAP_FAULT_DETAIL_LOCAL_NAME = "detail";
+
+ //SOAP 1.2 Content Type
+ public static final String SOAP_11_CONTENT_TYPE = "text/xml";
}
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap12/SOAP12Constants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap12/SOAP12Constants.java?rev=202483&r1=202482&r2=202483&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap12/SOAP12Constants.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis/soap/impl/llom/soap12/SOAP12Constants.java Wed Jun 29 22:19:39 2005
@@ -57,4 +57,7 @@
// SOAP Fault Role
public static final String SOAP_FAULT_ROLE_LOCAL_NAME = "Role";
+
+ //SOAP 1.2 Content Type
+ public static final String SOAP_12_CONTENT_TYPE = "application/soap+xml";
}