You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2005/11/11 04:16:14 UTC
svn commit: r332432 - in /webservices/axis2/trunk/java/modules:
core/src/org/apache/axis2/clientapi/InOutMEPClient.java
core/src/org/apache/axis2/clientapi/MEPClient.java
integration/test/org/apache/axis2/engine/util/TestConstants.java
Author: chinthaka
Date: Thu Nov 10 19:15:59 2005
New Revision: 332432
URL: http://svn.apache.org/viewcvs?rev=332432&view=rev
Log:
- Fixing a bug in setting a message id to the message context. (thx Chamikara for pointing out)
- Adding a convenience method for user to add an OMElement to the SOAP header.
- Adding a class to remove the duplication of various constants among test classes in the integration package. Yet to fill it.
Added:
webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/TestConstants.java
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/InOutMEPClient.java
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/MEPClient.java
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/InOutMEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/InOutMEPClient.java?rev=332432&r1=332431&r2=332432&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/InOutMEPClient.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/InOutMEPClient.java Thu Nov 10 19:15:59 2005
@@ -123,7 +123,7 @@
// The message ID is sent all the time
String messageID = String.valueOf("uuid:" + UUIDGenerator.getUUID());
- msgctx.setMessageID(messageID);
+ this.messageInformationHeaders.setMessageId(messageID);
//
if (useSeparateListener) {
//This mean doing a Request-Response invocation using two channel. If the
@@ -161,16 +161,11 @@
}
} else {
//This is the Usual Request-Response Sync implemetation
-// msgctx.setTo(to);
msgctx.setServiceContext(serviceContext);
ConfigurationContext syscontext = serviceContext.getConfigurationContext();
msgctx.setConfigurationContext(syscontext);
checkTransport(msgctx);
- //find and set the Operation Context
-// OperationContext operationContext = OperationContextFactory.createOperationContext(WSDLConstants.MEP_CONSTANT_IN_OUT,
-// axisop,
-// serviceContext);
OperationContext operationContext = new OperationContext(axisop, serviceContext);
axisop.registerOperationContext(msgctx, operationContext);
@@ -221,7 +216,7 @@
checkTransport(msgctx);
//Use message id all the time!
String messageID = String.valueOf("uuid:" + UUIDGenerator.getUUID());
- msgctx.setMessageID(messageID);
+ this.messageInformationHeaders.setMessageId(messageID);
////
if (useSeparateListener) {
//the invocation happen via a seperate Channel, so we should set up the
@@ -252,17 +247,6 @@
//send the message
engine.send(msgctx);
-/* serviceContext.getConfigurationContext().getThreadPool()
- .execute(new Runnable() {
- public void run() {
- try {
- engine.send(msgctx);
- } catch (AxisFault e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- });*/
} else {
// here a bloking invocation happens in a new thread, so the
// progamming model is non blocking
@@ -276,13 +260,6 @@
}
}
-
-// /**
-// * @param to
-// */
-// public void setTo(EndpointReference to) {
-// this.to = to;
-// }
/**
* Set transport information to the the Call, for find how the each parameter acts see the commant at the instance
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/MEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/MEPClient.java?rev=332432&r1=332431&r2=332432&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/MEPClient.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/clientapi/MEPClient.java Thu Nov 10 19:15:59 2005
@@ -92,8 +92,8 @@
if (serviceContext.getAxisService().getOperation(axisop.getName()) == null) {
serviceContext.getAxisService().addOperation(axisop);
}
- if(msgCtx.getMessageInformationHeaders() != null && msgCtx.getMessageInformationHeaders().getAction() != null) {
- messageInformationHeaders.setAction(msgCtx.getMessageInformationHeaders().getAction());
+ if (msgCtx.getMessageInformationHeaders() != null && msgCtx.getMessageInformationHeaders().getAction() != null) {
+ messageInformationHeaders.setAction(msgCtx.getMessageInformationHeaders().getAction());
}
msgCtx.setMessageInformationHeaders(messageInformationHeaders);
msgCtx.setSoapAction(soapAction);
@@ -177,15 +177,13 @@
* @throws AxisFault
*/
public SOAPEnvelope createDefaultSOAPEnvelope() throws AxisFault {
- SOAPFactory fac = null;
if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(soapVersionURI)) {
- fac = OMAbstractFactory.getSOAP12Factory();
+ return OMAbstractFactory.getSOAP12Factory().getDefaultEnvelope();
} else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(soapVersionURI)) {
- fac = OMAbstractFactory.getSOAP11Factory();
+ return OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
} else {
throw new AxisFault(Messages.getMessage("invaidSOAPversion"));
}
- return fac.getDefaultEnvelope();
}
/**
@@ -233,6 +231,17 @@
isExceptionToBeThrownOnSOAPFault = exceptionToBeThrownOnSOAPFault;
}
+ /**
+ * User might sometimes needs to add his own headers to the out going message from the client. This
+ * method will facilitate that. But this is bit restrictive in the sense that user can only set a
+ * header with only one text as a child. <HeaderBlockName>your text</HeaderBlockName>. If you want
+ * a much flexible way to add a soap header block use addSOAPHeader(OMElement)
+ *
+ * @param soapHeaderQName - During the creation of an OMElement from the given QName, we extract
+ * the namespace information from the given QName and find whether there is an
+ * already defined namespace. And if found that will be conneted with this.
+ * @param soapHeaderText
+ */
public void addSOAPHeader(QName soapHeaderQName, String soapHeaderText) {
OMElement omElement = OMAbstractFactory.getOMFactory().createOMElement(soapHeaderQName, null);
omElement.setText(soapHeaderText);
@@ -240,6 +249,22 @@
soapHeaderList = new ArrayList();
}
soapHeaderList.add(omElement);
+ }
+
+ /**
+ * This is much flexible than the other method and allows user to put anything in to the SOAP header
+ * block.
+ * @param soapHeaderBlock
+ */
+ public void addSOAPHeader(OMElement soapHeaderBlock) {
+ if (soapHeaderBlock == null) {
+ // what are you trying to do here. You wanna set null to a header ??
+ return;
+ }
+ if (soapHeaderList == null) {
+ soapHeaderList = new ArrayList();
+ }
+ soapHeaderList.add(soapHeaderBlock);
}
//==============================================================================
Added: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/TestConstants.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/TestConstants.java?rev=332432&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/TestConstants.java (added)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/TestConstants.java Thu Nov 10 19:15:59 2005
@@ -0,0 +1,25 @@
+package org.apache.axis2.engine.util;
+
+/*
+ * Copyright 2001-2004 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.
+ *
+ * @author : Eran Chinthaka (chinthaka@apache.org)
+ */
+
+/**
+ * This will contain the information shared across the integration test cases.
+ */
+public interface TestConstants {
+}