summaryrefslogtreecommitdiffstats
path: root/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client
diff options
context:
space:
mode:
Diffstat (limited to 'tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client')
-rw-r--r--tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/TestClient.c414
-rw-r--r--tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/runclient.bat33
-rw-r--r--tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/ws.binding.service.client.vcproj138
3 files changed, 585 insertions, 0 deletions
diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/TestClient.c b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/TestClient.c
new file mode 100644
index 0000000000..bb728dc916
--- /dev/null
+++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/TestClient.c
@@ -0,0 +1,414 @@
+/*
+ * 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.
+ */
+
+#include <stdio.h>
+#include <axiom.h>
+#include <axis2_util.h>
+#include <axiom_soap.h>
+#include <axis2_client.h>
+
+axiom_node_t *
+build_om_payload_for_doDataObject(axis2_env_t *env);
+
+axiom_node_t *
+build_om_payload_for_doDataObject_Failure(axis2_env_t *env);
+
+axiom_node_t *
+build_om_payload_for_doAny(axis2_env_t *env);
+
+axiom_node_t *
+build_om_payload_for_doMixed(axis2_env_t *env);
+
+axiom_node_t *
+build_om_payload_for_doSingleData(axis2_env_t *env, char* name, char* data);
+
+void runCall(axis2_env_t* env, char* endpoint, char* opName, axiom_node_t* payload, int expectFailure);
+
+int main(int argc, char** argv)
+{
+ axis2_env_t *env = NULL;
+ axis2_char_t *address = NULL;
+ axis2_endpoint_ref_t* endpoint_ref = NULL;
+ axis2_options_t *options = NULL;
+ axis2_char_t *client_home = NULL;
+ axis2_svc_client_t* svc_client = NULL;
+ axiom_node_t *payload = NULL;
+ axiom_node_t *ret_node = NULL;
+
+ /* Set up the envioronment */
+ env = axis2_env_create_all("ws.binding.service.test.log", AXIS2_LOG_LEVEL_TRACE);
+
+ /* Set end point reference of echo service */
+ address = "http://localhost:9090/axis2/services/ws.binding.service";
+ if (argc > 1 )
+ address = argv[1];
+ if (AXIS2_STRCMP(address, "-h") == 0)
+ {
+ printf("Usage : %s [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ return 0;
+ }
+ printf ("Using endpoint : %s\n", address);
+
+
+ /* do all the single data types */
+ payload = build_om_payload_for_doSingleData(env, "doChars", "Here is some char* data");
+ runCall(env, address, "doChars", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doLong", "123456789");
+ runCall(env, address, "doLong", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doInt", "123456789");
+ runCall(env, address, "doInt", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doFloat", "123.45");
+ runCall(env, address, "doFloat", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doLongDouble", "12345.67891");
+ runCall(env, address, "doLongDouble", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doDouble", "1234.4567");
+ runCall(env, address, "doDouble", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doBool", "true");
+ runCall(env, address, "doBool", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doShort", "12345");
+ runCall(env, address, "doShort", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doBytes", "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef");
+ runCall(env, address, "doBytes", payload, 0);
+ payload = build_om_payload_for_doSingleData(env, "doByte", "66");
+ runCall(env, address, "doByte", payload, 0);
+ payload = build_om_payload_for_doDataObject(env);
+ runCall(env, address, "doDataObject", payload, 0);
+ payload = build_om_payload_for_doMixed(env);
+ runCall(env, address, "doMixed", payload, 0);
+ payload = build_om_payload_for_doAny(env);
+ runCall(env, address, "doAny", payload, 0);
+
+ payload = build_om_payload_for_doDataObject_Failure(env);
+ runCall(env, address, "doDataObject", payload, 1);
+
+ return 0;
+}
+
+void runCall(axis2_env_t *env, char* endpoint, char* opName, axiom_node_t* payload, int expectFailure)
+{
+ axis2_char_t *address = endpoint;
+ axis2_endpoint_ref_t* endpoint_ref = NULL;
+ axis2_options_t *options = NULL;
+ axis2_char_t *client_home = NULL;
+ axis2_svc_client_t* svc_client = NULL;
+ axiom_node_t *ret_node = NULL;
+ char action [100];
+ int len = 0;
+
+ printf("runSingleDataCall with endpoint %s, opName %s\n", endpoint, opName);
+
+ client_home = AXIS2_GETENV("AXIS2C_HOME");
+
+ /* Create EPR with given address */
+ endpoint_ref = axis2_endpoint_ref_create(env, address);
+
+ svc_client = axis2_svc_client_create(env, client_home);
+ if (!svc_client)
+ {
+ printf("Error creating service client\n");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:"
+ " %d :: %s", env->error->error_number,
+ AXIS2_ERROR_GET_MESSAGE(env->error));
+ }
+
+ options = axis2_options_create(env);
+
+ AXIS2_OPTIONS_SET_TO(options, env, endpoint_ref);
+
+ len = sprintf(action, "http://www.WSEntryPointTest.org/WSEntryPointTest/%s", opName);
+ AXIS2_OPTIONS_SET_ACTION(options, env, action);
+
+ /* Set service client options */
+ AXIS2_SVC_CLIENT_SET_OPTIONS(svc_client, env, options);
+
+ /* Engage addressing composite */
+ AXIS2_SVC_CLIENT_ENGAGE_MODULE(svc_client, env, AXIS2_MODULE_ADDRESSING);
+
+ /* Send request */
+ ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE(svc_client, env, payload);
+ if(ret_node)
+ {
+ axis2_char_t *om_str = NULL;
+ om_str = AXIOM_NODE_TO_STRING(ret_node, env);
+ if (om_str)
+ printf("\nReceived OM : %s\n", om_str);
+ printf("\nWSEntryPointTest %s invoke SUCCESSFUL!\n", opName);
+ }
+ else
+ {
+ if(expectFailure)
+ {
+ printf("\nWSEntryPointTest %s failure as expected: SUCCESSFUL!\n", opName);
+ }
+ else
+ {
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:"
+ " %d :: %s", env->error->error_number,
+ AXIS2_ERROR_GET_MESSAGE(env->error));
+ printf("WSEntryPointTest %s invoke FAILED!\n", opName);
+ }
+ }
+
+ if (svc_client)
+ {
+ AXIS2_SVC_CLIENT_FREE(svc_client, env);
+ svc_client = NULL;
+ }
+ if (endpoint_ref)
+ {
+ AXIS2_ENDPOINT_REF_FREE(endpoint_ref, env);
+ endpoint_ref = NULL;
+ }
+}
+
+/* build SOAP request message content using OM */
+axiom_node_t *
+build_om_payload_for_doDataObject(axis2_env_t *env)
+{
+ axiom_node_t* req_om_node = NULL;
+ axiom_element_t* req_om_elem = NULL;
+ axiom_node_t* someData_om_node = NULL;
+ axiom_element_t* someData_om_elem = NULL;
+ axiom_node_t* someStringData_om_node = NULL;
+ axiom_element_t* someStringData_om_elem = NULL;
+ axiom_node_t* someIntData_om_node = NULL;
+ axiom_element_t* someIntData_om_elem = NULL;
+ axiom_node_t* someFloatData_om_node = NULL;
+ axiom_element_t* someFloatData_om_elem = NULL;
+ axiom_node_t* someDateData_om_node = NULL;
+ axiom_element_t* someDateData_om_elem = NULL;
+ axiom_node_t* someListData_om_node = NULL;
+ axiom_element_t* someListData_om_elem = NULL;
+ axiom_node_t* listItem1_om_node = NULL;
+ axiom_element_t* listItem1_om_elem = NULL;
+ axiom_node_t* listItem2_om_node = NULL;
+ axiom_element_t* listItem2_om_elem = NULL;
+ axiom_namespace_t *ns1 = NULL;
+ axis2_char_t *om_str = NULL;
+
+ ns1 = axiom_namespace_create (env, "http://www.WSEntryPointTest.org/WSEntryPointTest/", "ns1");
+ req_om_elem = axiom_element_create(env, NULL, "doDataObject", ns1, &req_om_node);
+ someData_om_elem = axiom_element_create(env, req_om_node, "someData", ns1, &someData_om_node);
+ someStringData_om_elem = axiom_element_create(env, someData_om_node, "someStringData", ns1, &someStringData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someStringData_om_elem, env, "Here is some string data", someStringData_om_node);
+ someIntData_om_elem = axiom_element_create(env, someData_om_node, "someIntData", ns1, &someIntData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someIntData_om_elem, env, "12345678", someIntData_om_node);
+ someFloatData_om_elem = axiom_element_create(env, someData_om_node, "someFloatData", ns1, &someFloatData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someFloatData_om_elem, env, "1234.5678", someFloatData_om_node);
+ someDateData_om_elem = axiom_element_create(env, someData_om_node, "someDateData", ns1, &someDateData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someDateData_om_elem, env, "1977-06-27", someDateData_om_node);
+ someListData_om_elem = axiom_element_create(env, someData_om_node, "someListData", ns1, &someListData_om_node);
+ listItem1_om_elem = axiom_element_create(env, someListData_om_node, "listItem", ns1, &listItem1_om_node);
+ AXIOM_ELEMENT_SET_TEXT(listItem1_om_elem, env, "Here is list item 1", listItem1_om_node);
+ listItem2_om_elem = axiom_element_create(env, someListData_om_node, "listItem", ns1, &listItem2_om_node);
+ AXIOM_ELEMENT_SET_TEXT(listItem2_om_elem, env, "Here is list item 2", listItem2_om_node);
+
+ om_str = AXIOM_NODE_TO_STRING(req_om_node, env);
+ if (om_str)
+ printf("\nSending OM : %s\n", om_str);
+
+ return req_om_node;
+}
+
+/* build SOAP request message content using OM */
+axiom_node_t *
+build_om_payload_for_doDataObject_Failure(axis2_env_t *env)
+{
+ axiom_node_t* req_om_node = NULL;
+ axiom_element_t* req_om_elem = NULL;
+ axiom_node_t* someData_om_node = NULL;
+ axiom_element_t* someData_om_elem = NULL;
+ axiom_node_t* someStringData_om_node = NULL;
+ axiom_element_t* someStringData_om_elem = NULL;
+ axiom_node_t* someIntData_om_node = NULL;
+ axiom_element_t* someIntData_om_elem = NULL;
+ axiom_node_t* someFloatData_om_node = NULL;
+ axiom_element_t* someFloatData_om_elem = NULL;
+ axiom_node_t* someDateData_om_node = NULL;
+ axiom_element_t* someDateData_om_elem = NULL;
+ axiom_node_t* someListData_om_node = NULL;
+ axiom_element_t* someListData_om_elem = NULL;
+ axiom_node_t* listItem1_om_node = NULL;
+ axiom_element_t* listItem1_om_elem = NULL;
+ axiom_node_t* listItem2_om_node = NULL;
+ axiom_element_t* listItem2_om_elem = NULL;
+ axiom_namespace_t *ns1 = NULL;
+ axis2_char_t *om_str = NULL;
+
+ // Create bad Axiom doc
+ ns1 = axiom_namespace_create (env, "http://www.WSEntryPointTest.org/WSEntryPointTest/", "ns1");
+ req_om_elem = axiom_element_create(env, NULL, "doDataObject", ns1, &req_om_node);
+ someData_om_elem = axiom_element_create(env, req_om_node, "someUnknownData", ns1, &someData_om_node);
+ someStringData_om_elem = axiom_element_create(env, someData_om_node, "someStringData", ns1, &someStringData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someStringData_om_elem, env, "Here is some string data", someStringData_om_node);
+ someIntData_om_elem = axiom_element_create(env, someData_om_node, "someIntData", ns1, &someIntData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someIntData_om_elem, env, "12345678", someIntData_om_node);
+ someFloatData_om_elem = axiom_element_create(env, someData_om_node, "someFloatData", ns1, &someFloatData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someFloatData_om_elem, env, "1234.5678", someFloatData_om_node);
+ someDateData_om_elem = axiom_element_create(env, someData_om_node, "someDateData", ns1, &someDateData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someDateData_om_elem, env, "1977-06-27", someDateData_om_node);
+ someListData_om_elem = axiom_element_create(env, someData_om_node, "someListData", ns1, &someListData_om_node);
+ listItem1_om_elem = axiom_element_create(env, someListData_om_node, "listItem", ns1, &listItem1_om_node);
+ AXIOM_ELEMENT_SET_TEXT(listItem1_om_elem, env, "Here is list item 1", listItem1_om_node);
+ listItem2_om_elem = axiom_element_create(env, someListData_om_node, "listItem", ns1, &listItem2_om_node);
+ AXIOM_ELEMENT_SET_TEXT(listItem2_om_elem, env, "Here is list item 2", listItem2_om_node);
+
+ om_str = AXIOM_NODE_TO_STRING(req_om_node, env);
+ if (om_str)
+ printf("\nSending OM : %s\n", om_str);
+
+ return req_om_node;
+}
+
+
+
+/* build SOAP request message content using OM */
+axiom_node_t *
+build_om_payload_for_doMixed(axis2_env_t *env)
+{
+ axiom_node_t* req_om_node = NULL;
+ axiom_element_t* req_om_elem = NULL;
+ axiom_node_t* arg1_om_node = NULL;
+ axiom_element_t* arg1_om_elem = NULL;
+ axiom_node_t* arg2_om_node = NULL;
+ axiom_element_t* arg2_om_elem = NULL;
+ axiom_node_t* arg3_om_node = NULL;
+ axiom_element_t* arg3_om_elem = NULL;
+ axiom_node_t* arg4_om_node = NULL;
+ axiom_element_t* arg4_om_elem = NULL;
+ axiom_node_t* arg5_om_node = NULL;
+ axiom_element_t* arg5_om_elem = NULL;
+ axiom_node_t* someStringData_om_node = NULL;
+ axiom_element_t* someStringData_om_elem = NULL;
+ axiom_node_t* someIntData_om_node = NULL;
+ axiom_element_t* someIntData_om_elem = NULL;
+ axiom_node_t* someFloatData_om_node = NULL;
+ axiom_element_t* someFloatData_om_elem = NULL;
+ axiom_node_t* someDateData_om_node = NULL;
+ axiom_element_t* someDateData_om_elem = NULL;
+ axiom_node_t* someListData_om_node = NULL;
+ axiom_element_t* someListData_om_elem = NULL;
+ axiom_node_t* listItem1_om_node = NULL;
+ axiom_element_t* listItem1_om_elem = NULL;
+ axiom_node_t* listItem2_om_node = NULL;
+ axiom_element_t* listItem2_om_elem = NULL;
+ axiom_namespace_t *ns1 = NULL;
+ axis2_char_t *om_str = NULL;
+
+ ns1 = axiom_namespace_create (env, "http://www.WSEntryPointTest.org/WSEntryPointTest/", "ns1");
+ req_om_elem = axiom_element_create(env, NULL, "doMixed", ns1, &req_om_node);
+ arg1_om_elem = axiom_element_create(env, req_om_node, "arg1", ns1, &arg1_om_node);
+ AXIOM_ELEMENT_SET_TEXT(arg1_om_elem, env, "Here is some char* data", arg1_om_node);
+ arg2_om_elem = axiom_element_create(env, req_om_node, "arg2", ns1, &arg2_om_node);
+ AXIOM_ELEMENT_SET_TEXT(arg2_om_elem, env, "123456789", arg2_om_node);
+ arg3_om_elem = axiom_element_create(env, req_om_node, "arg3", ns1, &arg3_om_node);
+ arg4_om_elem = axiom_element_create(env, req_om_node, "arg4", ns1, &arg4_om_node);
+ AXIOM_ELEMENT_SET_TEXT(arg4_om_elem, env, "true", arg4_om_node);
+ arg5_om_elem = axiom_element_create(env, req_om_node, "arg5", ns1, &arg5_om_node);
+ AXIOM_ELEMENT_SET_TEXT(arg5_om_elem, env, "1234.5678", arg5_om_node);
+ someStringData_om_elem = axiom_element_create(env, arg3_om_node, "someStringData", ns1, &someStringData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someStringData_om_elem, env, "Here is some string data", someStringData_om_node);
+ someIntData_om_elem = axiom_element_create(env, arg3_om_node, "", ns1, &someIntData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someIntData_om_elem, env, "12345678", someIntData_om_node);
+ someFloatData_om_elem = axiom_element_create(env, arg3_om_node, "someFloatData", ns1, &someFloatData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someFloatData_om_elem, env, "1234.5678", someFloatData_om_node);
+ someDateData_om_elem = axiom_element_create(env, arg3_om_node, "someDateData", ns1, &someDateData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someDateData_om_elem, env, "1977-06-27", someDateData_om_node);
+ someListData_om_elem = axiom_element_create(env, arg3_om_node, "someListData", ns1, &someListData_om_node);
+ listItem1_om_elem = axiom_element_create(env, someListData_om_node, "listItem", ns1, &listItem1_om_node);
+ AXIOM_ELEMENT_SET_TEXT(listItem1_om_elem, env, "Here is list item 1", listItem1_om_node);
+ listItem2_om_elem = axiom_element_create(env, someListData_om_node, "listItem", ns1, &listItem2_om_node);
+ AXIOM_ELEMENT_SET_TEXT(listItem2_om_elem, env, "Here is list item 2", listItem2_om_node);
+
+ om_str = AXIOM_NODE_TO_STRING(req_om_node, env);
+ if (om_str)
+ printf("\nSending OM : %s\n", om_str);
+
+ return req_om_node;
+}
+
+
+axiom_node_t *
+build_om_payload_for_doSingleData(axis2_env_t *env, char* name, char* data)
+{
+ axiom_node_t* req_om_node = NULL;
+ axiom_element_t* req_om_elem = NULL;
+ axiom_node_t* someData_om_node = NULL;
+ axiom_element_t* someData_om_elem = NULL;
+ axiom_namespace_t *ns1 = NULL;
+ axis2_char_t *om_str = NULL;
+
+ ns1 = axiom_namespace_create (env, "http://www.WSEntryPointTest.org/WSEntryPointTest/", "ns1");
+ req_om_elem = axiom_element_create(env, NULL, name, ns1, &req_om_node);
+ someData_om_elem = axiom_element_create(env, req_om_node, "someData", ns1, &someData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someData_om_elem, env, data, someData_om_node);
+
+ om_str = AXIOM_NODE_TO_STRING(req_om_node, env);
+ if (om_str)
+ printf("\nSending OM : %s\n", om_str);
+
+ return req_om_node;
+}
+
+
+axiom_node_t *
+build_om_payload_for_doAny(axis2_env_t *env)
+{
+ axiom_node_t* req_om_node = NULL;
+ axiom_element_t* req_om_elem = NULL;
+ axiom_node_t* someData_om_node = NULL;
+ axiom_element_t* someData_om_elem = NULL;
+ axiom_node_t* someStringData_om_node = NULL;
+ axiom_element_t* someStringData_om_elem = NULL;
+ axiom_node_t* someIntData_om_node = NULL;
+ axiom_element_t* someIntData_om_elem = NULL;
+ axiom_node_t* someFloatData_om_node = NULL;
+ axiom_element_t* someFloatData_om_elem = NULL;
+ axiom_node_t* someDateData_om_node = NULL;
+ axiom_element_t* someDateData_om_elem = NULL;
+ axiom_node_t* someListData_om_node = NULL;
+ axiom_element_t* someListData_om_elem = NULL;
+ axiom_node_t* listItem1_om_node = NULL;
+ axiom_element_t* listItem1_om_elem = NULL;
+ axiom_node_t* listItem2_om_node = NULL;
+ axiom_element_t* listItem2_om_elem = NULL;
+ axiom_namespace_t *ns1 = NULL;
+ axis2_char_t *om_str = NULL;
+
+ ns1 = axiom_namespace_create (env, "http://www.WSEntryPointTest.org/WSEntryPointTest/", "ns1");
+ req_om_elem = axiom_element_create(env, NULL, "doAny", ns1, &req_om_node);
+ someData_om_elem = axiom_element_create(env, req_om_node, "anElem", ns1, &someData_om_node);
+ someStringData_om_elem = axiom_element_create(env, someData_om_node, "hello", ns1, &someStringData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someStringData_om_elem, env, "world", someStringData_om_node);
+ someIntData_om_elem = axiom_element_create(env, someData_om_node, "someIntData", ns1, &someIntData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someIntData_om_elem, env, "12345678", someIntData_om_node);
+ someFloatData_om_elem = axiom_element_create(env, someData_om_node, "someFloatData", ns1, &someFloatData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someFloatData_om_elem, env, "1234.5678", someFloatData_om_node);
+ someDateData_om_elem = axiom_element_create(env, someData_om_node, "someDateData", ns1, &someDateData_om_node);
+ AXIOM_ELEMENT_SET_TEXT(someDateData_om_elem, env, "1977-06-27", someDateData_om_node);
+ someListData_om_elem = axiom_element_create(env, someData_om_node, "someListData", ns1, &someListData_om_node);
+ listItem1_om_elem = axiom_element_create(env, someListData_om_node, "listItem", ns1, &listItem1_om_node);
+ AXIOM_ELEMENT_SET_TEXT(listItem1_om_elem, env, "Here is list item 1", listItem1_om_node);
+ listItem2_om_elem = axiom_element_create(env, someListData_om_node, "listItem", ns1, &listItem2_om_node);
+ AXIOM_ELEMENT_SET_TEXT(listItem2_om_elem, env, "Here is list item 2", listItem2_om_node);
+
+ om_str = AXIOM_NODE_TO_STRING(req_om_node, env);
+ if (om_str)
+ printf("\nSending OM : %s\n", om_str);
+
+ return req_om_node;
+}
diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/runclient.bat b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/runclient.bat
new file mode 100644
index 0000000000..13f3164751
--- /dev/null
+++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/runclient.bat
@@ -0,0 +1,33 @@
+@echo off
+
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+
+setlocal
+
+if "%AXIS2C_HOME%" == "" (
+echo "AXIS2C_HOME not set"
+goto end
+)
+echo Using Axis2C installed at %AXIS2C_HOME%
+
+rem Run the client
+.\ws.binding.service.client.exe
+
+:end
+endlocal
diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/ws.binding.service.client.vcproj b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/ws.binding.service.client.vcproj
new file mode 100644
index 0000000000..03c007662b
--- /dev/null
+++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.client/ws.binding.service.client.vcproj
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="ws.binding.service.client"
+ ProjectGUID="{136C4966-3073-4EB0-9259-BC5E3B987D19}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="$(AXIS2C_HOME)/include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="axiom.lib axis2_parser.lib axis2_util.lib axis2_engine.lib"
+ OutputFile="$(OutDir)/ws.binding.service.client.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="$(AXIS2C_HOME)/lib"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/ws.binding.service.client.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)/service.ws.binding.client.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\TestClient.c">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ <File
+ RelativePath=".\runclient.bat">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>