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 de...@apache.org on 2007/07/03 10:51:16 UTC
svn commit: r552745 - in /webservices/axis2/trunk/java/modules:
adb/src/org/apache/axis2/rpc/receivers/
kernel/src/org/apache/axis2/deployment/
kernel/src/org/apache/axis2/deployment/util/
kernel/src/org/apache/axis2/description/ kernel/src/org/apache/...
Author: deepal
Date: Tue Jul 3 01:51:14 2007
New Revision: 552745
URL: http://svn.apache.org/viewvc?view=rev&rev=552745
Log:
fixing AXIS2-1720
- if the java method is void and it has a exception then we generate robust-in operation for that
-in wsdl1.1 we generate in , out and fault messages
And AXIS2-2889
Modified:
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ServiceBuilder.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java
Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCInOutAsyncMessageReceiver.java Tue Jul 3 01:51:14 2007
@@ -24,10 +24,7 @@
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.AxisMessage;
-import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.Parameter;
+import org.apache.axis2.description.*;
import org.apache.axis2.description.java2wsdl.Java2WSDLConstants;
import org.apache.axis2.receivers.AbstractInOutAsyncMessageReceiver;
import org.apache.axis2.wsdl.WSDLConstants;
@@ -97,14 +94,24 @@
// Handling the response
AxisMessage outaxisMessage = op.getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
- if (outaxisMessage != null) {
+ if (outaxisMessage != null && outaxisMessage.getElementQName() !=null) {
messageNameSpace = outaxisMessage.getElementQName().getNamespaceURI();
+ } else {
+ messageNameSpace = service.getTargetNamespace();
}
OMNamespace ns = fac.createOMNamespace(messageNameSpace,
service.getSchemaTargetNamespacePrefix());
SOAPEnvelope envelope = fac.getDefaultEnvelope();
OMElement bodyContent = null;
+
+ if (WSDL2Constants.MEP_URI_ROBUST_IN_ONLY.equals(
+ op.getMessageExchangePattern())){
+ OMElement bodyChild = fac.createOMElement(outMessage.getAxisMessage().getName(), ns);
+ envelope.getBody().addChild(bodyChild);
+ outMessage.setEnvelope(envelope);
+ return;
+ }
Parameter generateBare = service.getParameter(Java2WSDLConstants.DOC_LIT_BARE_PARAMETER);
if (generateBare!=null && "true".equals(generateBare.getValue())) {
RPCUtil.processResonseAsDocLitBare(resObject, service,
Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java Tue Jul 3 01:51:14 2007
@@ -29,10 +29,7 @@
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.AxisMessage;
-import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.Parameter;
+import org.apache.axis2.description.*;
import org.apache.axis2.description.java2wsdl.Java2WSDLConstants;
import org.apache.axis2.receivers.AbstractInOutMessageReceiver;
import org.apache.axis2.wsdl.WSDLConstants;
@@ -110,8 +107,10 @@
// Handling the response
AxisMessage outaxisMessage = op.getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
- if (outaxisMessage != null) {
+ if (outaxisMessage != null && outaxisMessage.getElementQName() !=null) {
messageNameSpace = outaxisMessage.getElementQName().getNamespaceURI();
+ } else {
+ messageNameSpace = service.getTargetNamespace();
}
OMNamespace ns = fac.createOMNamespace(messageNameSpace,
@@ -119,7 +118,14 @@
SOAPEnvelope envelope = fac.getDefaultEnvelope();
OMElement bodyContent = null;
- Parameter generateBare = service.getParameter(Java2WSDLConstants.DOC_LIT_BARE_PARAMETER);
+ if (WSDL2Constants.MEP_URI_ROBUST_IN_ONLY.equals(
+ op.getMessageExchangePattern())){
+ OMElement bodyChild = fac.createOMElement(outMessage.getAxisMessage().getName(), ns);
+ envelope.getBody().addChild(bodyChild);
+ outMessage.setEnvelope(envelope);
+ return;
+ }
+ Parameter generateBare = service.getParameter(Java2WSDLConstants.DOC_LIT_BARE_PARAMETER);
if (generateBare!=null && "true".equals(generateBare.getValue())) {
RPCUtil.processResonseAsDocLitBare(resObject, service,
envelope, fac, ns,
Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java Tue Jul 3 01:51:14 2007
@@ -34,6 +34,7 @@
import org.apache.axis2.databinding.utils.reader.NullXMLStreamReader;
import org.apache.axis2.description.AxisMessage;
import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.WSDL2Constants;
import org.apache.axis2.description.java2wsdl.TypeTable;
import org.apache.axis2.engine.ObjectSupplier;
import org.apache.axis2.util.StreamWrapper;
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java Tue Jul 3 01:51:14 2007
@@ -653,7 +653,7 @@
public static String getAxisServiceName(String fileName) {
char seperator = '.';
String value;
- int index = fileName.indexOf(seperator);
+ int index = fileName.lastIndexOf(seperator);
if (index > 0) {
value = fileName.substring(0, index);
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java Tue Jul 3 01:51:14 2007
@@ -120,7 +120,6 @@
messageReciverMap.put(
WSDL2Constants.MEP_URI_IN_ONLY,
messageReceiver);
- messageReciverMap.put(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY,messageReceiver);
Class inoutMessageReceiver = Loader.loadClass(
"org.apache.axis2.rpc.receivers.RPCMessageReceiver");
MessageReceiver inOutmessageReceiver =
@@ -128,6 +127,7 @@
messageReciverMap.put(
WSDL2Constants.MEP_URI_IN_OUT,
inOutmessageReceiver);
+ messageReciverMap.put(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY,inOutmessageReceiver);
AxisService axisService = AxisService.createService(className,
configCtx.getAxisConfiguration(),
messageReciverMap,
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ServiceBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ServiceBuilder.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ServiceBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/ServiceBuilder.java Tue Jul 3 01:51:14 2007
@@ -394,8 +394,17 @@
while (operations.hasNext()) {
AxisOperation operation = (AxisOperation) operations.next();
if (operation.getMessageReceiver() == null) {
- operation.setMessageReceiver(loadDefaultMessageReceiver(
- operation.getMessageExchangePattern(), service));
+ MessageReceiver messageReceiver = loadDefaultMessageReceiver(
+ operation.getMessageExchangePattern(), service);
+ if (messageReceiver == null &&
+ //we assume that if the MEP is ROBUST_IN_ONLY then the in-out MR can handle that
+ WSDL2Constants.MEP_URI_ROBUST_IN_ONLY.equals(
+ operation.getMessageExchangePattern())) {
+ messageReceiver = loadDefaultMessageReceiver(
+ WSDL2Constants.MEP_URI_IN_OUT, service);
+
+ }
+ operation.setMessageReceiver(messageReceiver);
}
}
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java Tue Jul 3 01:51:14 2007
@@ -103,7 +103,6 @@
public static URL[] getURLsForAllJars(URL url, File tmpDir) {
try {
ArrayList array = new ArrayList();
- String urlString = url.toString();
InputStream in = url.openStream();
String fileName = url.getFile();
int index = fileName.lastIndexOf('/');
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java Tue Jul 3 01:51:14 2007
@@ -1484,7 +1484,6 @@
messageReciverMap.put(
WSDL2Constants.MEP_URI_IN_ONLY,
messageReceiver);
- messageReciverMap.put(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY, messageReceiver);
Class inoutMessageReceiver = Loader.loadClass(
"org.apache.axis2.rpc.receivers.RPCMessageReceiver");
MessageReceiver inOutmessageReceiver =
@@ -1492,6 +1491,7 @@
messageReciverMap.put(
WSDL2Constants.MEP_URI_IN_OUT,
inOutmessageReceiver);
+ messageReciverMap.put(WSDL2Constants.MEP_URI_ROBUST_IN_ONLY, inOutmessageReceiver);
return createService(implClass,
axisConfig,
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java Tue Jul 3 01:51:14 2007
@@ -1,21 +1,3 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
package org.apache.axis2.description;
import org.apache.axiom.om.OMAbstractFactory;
@@ -51,6 +33,24 @@
import java.util.Iterator;
import java.util.Map;
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ *
+ *
+ */
+
public class AxisService2WSDL11 implements Java2WSDLConstants {
private AxisService axisService;
@@ -234,6 +234,8 @@
.equals(MEP)
|| WSDL2Constants.MEP_URI_ROBUST_OUT_ONLY
.equals(MEP)
+ || WSDL2Constants.MEP_URI_ROBUST_IN_ONLY
+ .equals(MEP)
|| WSDL2Constants.MEP_URI_IN_OUT
.equals(MEP)) {
AxisMessage outAxisMessage = axisOperation
@@ -373,6 +375,8 @@
.equals(MEP)
|| WSDL2Constants.MEP_URI_ROBUST_OUT_ONLY
.equals(MEP)
+ || WSDL2Constants.MEP_URI_ROBUST_IN_ONLY
+ .equals(MEP)
|| WSDL2Constants.MEP_URI_IN_OUT
.equals(MEP)) {
AxisMessage outAxisMessage = axisOperation
@@ -610,6 +614,8 @@
.equals(MEP)
|| WSDL2Constants.MEP_URI_ROBUST_OUT_ONLY
.equals(MEP)
+ || WSDL2Constants.MEP_URI_ROBUST_IN_ONLY
+ .equals(MEP)
|| WSDL2Constants.MEP_URI_IN_OUT
.equals(MEP)) {
AxisMessage outAxisMessage = axisOperation
@@ -743,6 +749,8 @@
|| WSDL2Constants.MEP_URI_IN_OPTIONAL_OUT
.equals(MEP)
|| WSDL2Constants.MEP_URI_ROBUST_OUT_ONLY
+ .equals(MEP)
+ || WSDL2Constants.MEP_URI_ROBUST_IN_ONLY
.equals(MEP)
|| WSDL2Constants.MEP_URI_IN_OUT
.equals(MEP)) {
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Tue Jul 3 01:51:14 2007
@@ -23,6 +23,7 @@
import org.apache.axis2.description.AxisMessage;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.WSDL2Constants;
import org.apache.axis2.description.java2wsdl.bytecode.MethodTable;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.logging.Log;
@@ -227,6 +228,14 @@
AxisOperation axisOperation = service.getOperation(new QName(methodName));
if (axisOperation == null) {
axisOperation = Utils.getAxisOperationForJmethod(jMethod);
+ if (WSDL2Constants.MEP_URI_ROBUST_IN_ONLY.equals(
+ axisOperation.getMessageExchangePattern())){
+ AxisMessage outMessage = axisOperation.getMessage(
+ WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
+ if (outMessage !=null ){
+ outMessage.setName(methodName + RESPONSE);
+ }
+ }
addToService = true;
}
// Maintain a list of methods we actually work with
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java?view=diff&rev=552745&r1=552744&r2=552745
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java Tue Jul 3 01:51:14 2007
@@ -23,6 +23,7 @@
import org.apache.axis2.description.AxisMessage;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.WSDL2Constants;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -87,6 +88,14 @@
AxisOperation axisOperation = service.getOperation(new QName(methodName));
if (axisOperation == null) {
axisOperation = Utils.getAxisOperationForJmethod(jMethod);
+ if (WSDL2Constants.MEP_URI_ROBUST_IN_ONLY.equals(
+ axisOperation.getMessageExchangePattern())){
+ AxisMessage outMessage = axisOperation.getMessage(
+ WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
+ if (outMessage !=null ){
+ outMessage.setName(methodName + RESULT);
+ }
+ }
addToService = true;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org