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/27 06:56:25 UTC
svn commit: r201945 - in
/webservices/axis/trunk/java/modules/core/src/org/apache/axis:
clientapi/MEPClient.java receivers/RawXMLINOutMessageRecevier.java
Author: hemapani
Date: Sun Jun 26 21:56:24 2005
New Revision: 201945
URL: http://svn.apache.org/viewcvs?rev=201945&view=rev
Log:
fixing the http://issues.apache.org/jira/browse/AXIS2-45
Modified:
webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java?rev=201945&r1=201944&r2=201945&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java Sun Jun 26 21:56:24 2005
@@ -23,7 +23,6 @@
import org.apache.axis.context.MessageContext;
import org.apache.axis.context.ServiceContext;
import org.apache.axis.description.OperationDescription;
-import org.apache.axis.description.TransportInDescription;
import org.apache.axis.description.TransportOutDescription;
import org.apache.axis.engine.AxisFault;
import org.apache.axis.om.OMAbstractFactory;
@@ -31,6 +30,8 @@
import org.apache.axis.soap.SOAPEnvelope;
import org.apache.axis.soap.SOAPFactory;
import org.apache.axis.soap.impl.llom.SOAPProcessingException;
+import org.apache.axis.soap.impl.llom.soap11.SOAP11Constants;
+import org.apache.axis.soap.impl.llom.soap12.SOAP12Constants;
/**
* This is the Super Class for all the MEPClients, All the MEPClient will extend this.
@@ -38,6 +39,7 @@
public abstract class MEPClient {
protected ServiceContext serviceContext;
protected final String mep;
+ protected String soapVersionURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
public MEPClient(ServiceContext service, String mep) {
this.serviceContext = service;
@@ -56,23 +58,16 @@
+ " And the Axis Operations suppiled supports "
+ axisop.getMessageExchangePattern());
}
-
- if(serviceContext.getServiceConfig().getOperation(axisop.getName()) == null){
+
+ if (serviceContext.getServiceConfig().getOperation(axisop.getName()) == null) {
serviceContext.getServiceConfig().addOperation(axisop);
}
}
protected MessageContext prepareTheSystem(OMElement toSend) throws AxisFault {
- MessageContext msgctx =
- new MessageContext(serviceContext.getEngineContext());
+ MessageContext msgctx = new MessageContext(serviceContext.getEngineContext());
- SOAPEnvelope envelope = null;
- SOAPFactory omfac = OMAbstractFactory.getSOAP11Factory();
- try {
- envelope = omfac.getDefaultEnvelope();
- } catch (SOAPProcessingException e) {
- throw new AxisFault(e);
- }
+ SOAPEnvelope envelope = createDefaultSOAPEnvelope();
envelope.getBody().addChild(toSend);
msgctx.setEnvelope(envelope);
return msgctx;
@@ -87,15 +82,32 @@
transport = toURL.substring(0, index);
}
}
-
- if(transport != null){
+
+ if (transport != null) {
return serviceContext.getEngineContext().getAxisConfiguration().getTransportOut(
- new QName(transport));
-
- }else{
+ new QName(transport));
+
+ } else {
throw new AxisFault("Cannot Infer transport from the URL");
}
-
+
+ }
+
+ public SOAPEnvelope createDefaultSOAPEnvelope() {
+ SOAPFactory fac = null;
+ if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(soapVersionURI)) {
+ fac = OMAbstractFactory.getSOAP12Factory();
+ } else {
+ fac = OMAbstractFactory.getSOAP11Factory();
+ }
+ return fac.getDefaultEnvelope();
+ }
+
+ /**
+ * @param string
+ */
+ public void setSoapVersionURI(String string) {
+ soapVersionURI = string;
}
}
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java?rev=201945&r1=201944&r2=201945&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java Sun Jun 26 21:56:24 2005
@@ -73,12 +73,20 @@
throws AxisFault {
try {
+ SOAPFactory fac = null;
+ String nsURI = msgContext.getEnvelope().getNamespace().getName();
+ if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
+ fac = OMAbstractFactory.getSOAP12Factory();
+ } else {
+ fac = OMAbstractFactory.getSOAP11Factory();
+ }
+
// get the implementation class for the Web Service
Object obj = getTheImplementationObject(msgContext);
// find the WebService method
Class ImplClass = obj.getClass();
- DependancyManager.configureBusinussLogicProvider(obj,msgContext);
+ DependancyManager.configureBusinussLogicProvider(obj, msgContext);
OperationDescription op = msgContext.getOperationContext().getAxisOperation();
if (op == null) {
@@ -109,7 +117,7 @@
// invoke the WebService
OMElement result = (OMElement) method.invoke(obj, parms);
- envelope = OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
+ envelope = fac.getDefaultEnvelope();
envelope.getBody().setFirstChild(result);
} else if (WSDLService.STYLE_RPC.equals(style)) {
@@ -118,7 +126,6 @@
// invoke the WebService
OMElement result = (OMElement) method.invoke(obj, parms);
- SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
envelope = fac.getDefaultEnvelope();
OMNamespace ns = fac.createOMNamespace("http://soapenc/", "res");
@@ -129,21 +136,13 @@
throw new AxisFault("Unknown style ");
}
newmsgContext.setEnvelope(envelope);
- } else if((parameters != null)
- && (parameters.length == 0)){
- SOAPFactory fac = null;
- String nsURI = msgContext.getEnvelope().getNamespace().getName();
- if(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)){
- fac = OMAbstractFactory.getSOAP12Factory();
- }else{
- fac = OMAbstractFactory.getSOAP11Factory();
- }
-
+ } else if ((parameters != null) && (parameters.length == 0)) {
+
SOAPEnvelope envelope = fac.getDefaultEnvelope();
String style = msgContext.getOperationContext().getAxisOperation().getStyle();
if (WSDLService.STYLE_DOC.equals(style)) {
-
+
Object[] parms = new Object[0];
// invoke the WebService
@@ -151,7 +150,7 @@
envelope.getBody().setFirstChild(result);
} else if (WSDLService.STYLE_RPC.equals(style)) {
-
+
Object[] parms = new Object[0];
// invoke the WebService
@@ -165,7 +164,7 @@
throw new AxisFault("Unknown style ");
}
newmsgContext.setEnvelope(envelope);
- }else {
+ } else {
throw new AxisFault(
"Raw Xml provider supports only the methods bearing the signature public OMElement "
+ "<method-name>(OMElement) where the method name is anything");