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 am...@apache.org on 2007/11/09 06:16:20 UTC
svn commit: r593422 - in
/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter:
AxisServiceBasedMultiLanguageEmitter.java CEmitter.java
Author: amilas
Date: Thu Nov 8 21:16:19 2007
New Revision: 593422
URL: http://svn.apache.org/viewvc?rev=593422&view=rev
Log:
fixed the issue with getting the soap headers when the operation and
biniding in two different namespaces
Modified:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/CEmitter.java
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java?rev=593422&r1=593421&r2=593422&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java Thu Nov 8 21:16:19 2007
@@ -1590,10 +1590,12 @@
// First Iterate through the operations and find the relevant fromOM and toOM methods to be generated
ArrayList parameters = new ArrayList();
-
- for (Iterator operationsIterator = axisService.getOperations();
- operationsIterator.hasNext();) {
- AxisOperation axisOperation = (AxisOperation) operationsIterator.next();
+ AxisOperation axisOperation = null;
+ AxisBindingOperation axisBindingOperation = null;
+ for (Iterator bindingOperationsIter = this.axisBinding.getChildren();
+ bindingOperationsIter.hasNext();) {
+ axisBindingOperation = (AxisBindingOperation) bindingOperationsIter.next();
+ axisOperation = axisBindingOperation.getAxisOperation();
// Add the parameters to a map with their type as the key
// this step is needed to remove repetitions
@@ -1633,7 +1635,7 @@
// process the header parameters
Element newChild;
List headerParameterQNameList = new ArrayList();
- addHeaderOperations(headerParameterQNameList, axisOperation, true);
+ addHeaderOperations(headerParameterQNameList, axisBindingOperation, true);
List parameterElementList = getParameterElementList(doc, headerParameterQNameList,
WSDLConstants.SOAP_HEADER);
@@ -1644,7 +1646,7 @@
headerParameterQNameList.clear();
parameterElementList.clear();
- addHeaderOperations(headerParameterQNameList, axisOperation, false);
+ addHeaderOperations(headerParameterQNameList, axisBindingOperation, false);
parameterElementList = getParameterElementList(doc, headerParameterQNameList,
WSDLConstants.SOAP_HEADER);
@@ -1711,9 +1713,10 @@
}
}
+ axisOperation = null;
for (Iterator operationsIterator = axisService.getOperations();
operationsIterator.hasNext();) {
- AxisOperation axisOperation = (AxisOperation) operationsIterator.next();
+ axisOperation = (AxisOperation) operationsIterator.next();
details = axisOperation.getParameter(Constants.DATABINDING_OPERATION_DETAILS);
if (details != null) {
rootElement.appendChild(doc.importNode((Element) details.getValue(), true));
@@ -2209,7 +2212,7 @@
addSOAPAction(doc, methodElement, bindingOperation.getName());
addOutputAndFaultActions(doc, methodElement, axisOperation);
- addHeaderOperations(soapHeaderInputParameterList, axisOperation, true);
+ addHeaderOperations(soapHeaderInputParameterList, bindingOperation, true);
// addHeaderOperations(soapHeaderOutputParameterList, axisOperation, false);
@@ -2584,26 +2587,28 @@
* populate the header parameters
*
* @param soapHeaderParameterQNameList
- * @param axisOperation
+ * @param bindingOperation
* @param input
*/
protected void addHeaderOperations(List soapHeaderParameterQNameList,
- AxisOperation axisOperation,
+ AxisBindingOperation bindingOperation,
boolean input) {
+
+ AxisOperation axisOperation = bindingOperation.getAxisOperation();
ArrayList headerparamList = new ArrayList();
String MEP = axisOperation.getMessageExchangePattern();
if (input) {
if (WSDLUtil.isInputPresentForMEP(MEP)) {
headerparamList = (ArrayList) getBindingPropertyFromMessage(
- WSDL2Constants.ATTR_WSOAP_HEADER, axisOperation.getName(),
+ WSDL2Constants.ATTR_WSOAP_HEADER, bindingOperation.getName(),
WSDLConstants.WSDL_MESSAGE_DIRECTION_IN);
}
} else {
if (WSDLUtil.isOutputPresentForMEP(MEP)) {
headerparamList = (ArrayList) getBindingPropertyFromMessage(
- WSDL2Constants.ATTR_WSOAP_HEADER, axisOperation.getName(),
+ WSDL2Constants.ATTR_WSOAP_HEADER, bindingOperation.getName(),
WSDLConstants.WSDL_MESSAGE_DIRECTION_OUT);
}
}
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/CEmitter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/CEmitter.java?rev=593422&r1=593421&r2=593422&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/CEmitter.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/CEmitter.java Thu Nov 8 21:16:19 2007
@@ -400,9 +400,9 @@
addSOAPAction(doc, methodElement, axisOperation.getName());
//add header ops for input
- addHeaderOperations(soapHeaderInputParameterList, axisOperation, true);
+ addHeaderOperations(soapHeaderInputParameterList, axisBindingOperation, true);
//add header ops for output
- addHeaderOperations(soapHeaderOutputParameterList, axisOperation, false);
+ addHeaderOperations(soapHeaderOutputParameterList, axisBindingOperation, false);
PolicyInclude policyInclude = axisOperation.getPolicyInclude();
Policy policy = policyInclude.getPolicy();
@@ -454,8 +454,8 @@
addSOAPAction(doc, methodElement, axisOperation.getName());
- addHeaderOperations(soapHeaderInputParameterList, axisOperation, true);
- addHeaderOperations(soapHeaderOutputParameterList, axisOperation, false);
+ addHeaderOperations(soapHeaderInputParameterList, axisBindingOperation, true);
+ addHeaderOperations(soapHeaderOutputParameterList, axisBindingOperation, false);
/*
* Setting the policy of the operation
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org