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 di...@apache.org on 2004/01/17 06:24:52 UTC
cvs commit: ws-axis/java/src/org/apache/axis/providers/java MsgProvider.java
dims 2004/01/16 21:24:52
Modified: java/src/org/apache/axis/providers/java MsgProvider.java
Log:
Fix for Bug 26208 - Problem with parsing of body too soon
Revision Changes Path
1.37 +12 -0 ws-axis/java/src/org/apache/axis/providers/java/MsgProvider.java
Index: MsgProvider.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/providers/java/MsgProvider.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- MsgProvider.java 22 Apr 2003 19:35:36 -0000 1.36
+++ MsgProvider.java 17 Jan 2004 05:24:52 -0000 1.37
@@ -57,13 +57,16 @@
import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
+import org.apache.axis.handlers.soap.SOAPService;
import org.apache.axis.description.OperationDesc;
+import org.apache.axis.description.ServiceDesc;
import org.apache.axis.i18n.Messages;
import org.apache.axis.message.SOAPBodyElement;
import org.apache.axis.message.SOAPEnvelope;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import javax.xml.namespace.QName;
import java.lang.reflect.Method;
import java.util.Vector;
@@ -104,6 +107,15 @@
throws Exception
{
OperationDesc operation = msgContext.getOperation();
+ SOAPService service = msgContext.getService();
+ ServiceDesc serviceDesc = service.getServiceDescription();
+
+ if (operation == null) {
+ QName qname = new QName(reqEnv.getBody().getNamespaceURI(),
+ reqEnv.getBody().getLocalName());
+ operation = serviceDesc.getOperationByElementQName(qname);
+ }
+
if (operation == null) {
throw new AxisFault(Messages.getMessage("noOperationForQName",
reqEnv.getFirstBody().