From bdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a Mon Sep 17 00:00:00 2001 From: dims Date: Tue, 17 Jun 2008 00:23:01 +0000 Subject: Move Tuscany from Incubator to top level. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68 --- .../WSEntryPointTestClient.c | 414 ++++++++++++++++ .../WSEntryPointTestClient.vcproj | 136 ++++++ .../WSEntryPointTestModule/Tuscany-model.config | 24 + .../WSEntryPointTestModule/WSEntryPointTest.h | 53 +++ .../WSEntryPointTestModule/WSEntryPointTest.wsdl | 526 +++++++++++++++++++++ .../WSEntryPointTestImpl.componentType | 10 + .../WSEntryPointTestImpl.cpp | 159 +++++++ .../WSEntryPointTestModule/WSEntryPointTestImpl.h | 57 +++ ...PointTestImpl_WSEntryPointTestService_Proxy.cpp | 187 ++++++++ ...ryPointTestImpl_WSEntryPointTestService_Proxy.h | 50 ++ ...intTestImpl_WSEntryPointTestService_Wrapper.cpp | 145 ++++++ ...PointTestImpl_WSEntryPointTestService_Wrapper.h | 40 ++ .../WSEntryPointTestModule.vcproj | 173 +++++++ .../WSEntryPointTestModule/sca.module | 19 + .../WSEntryPointTestModule/services.xml | 62 +++ .../WSEntryPointTestSubsystem/sca.subsystem | 23 + .../WSEntryPointTestModule/Tuscany-model.config | 24 + .../WSEntryPointTestModule/WSEntryPointTest.h | 53 +++ .../WSEntryPointTestModule/WSEntryPointTest.wsdl | 526 +++++++++++++++++++++ .../WSEntryPointTestImpl.componentType | 10 + .../WSEntryPointTestModule/WSEntryPointTestImpl.h | 57 +++ .../modules/WSEntryPointTestModule/sca.module | 19 + .../WSEntryPointTestSubsystem/sca.subsystem | 23 + 23 files changed, 2790 insertions(+) create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestClient/WSEntryPointTestClient.c create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestClient/WSEntryPointTestClient.vcproj create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/Tuscany-model.config create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTest.h create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTest.wsdl create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.componentType create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.cpp create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.h create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Proxy.cpp create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Proxy.h create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.cpp create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.h create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestModule.vcproj create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/sca.module create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/services.xml create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestSubsystem/sca.subsystem create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/Tuscany-model.config create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTest.h create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTest.wsdl create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTestImpl.componentType create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTestImpl.h create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/sca.module create mode 100644 tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/subsystems/WSEntryPointTestSubsystem/sca.subsystem (limited to 'tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest') diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestClient/WSEntryPointTestClient.c b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestClient/WSEntryPointTestClient.c new file mode 100644 index 0000000000..66e90c2fc2 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestClient/WSEntryPointTestClient.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 +#include +#include +#include +#include + +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("wsentrypointtest.log", AXIS2_LOG_LEVEL_TRACE); + + /* Set end point reference of echo service */ + address = "http://localhost:9090/axis2/services/WSEntryPointTest"; + 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 module */ + 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-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestClient/WSEntryPointTestClient.vcproj b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestClient/WSEntryPointTestClient.vcproj new file mode 100644 index 0000000000..e540e44c49 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestClient/WSEntryPointTestClient.vcproj @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/Tuscany-model.config b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/Tuscany-model.config new file mode 100644 index 0000000000..982f7bc271 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/Tuscany-model.config @@ -0,0 +1,24 @@ + + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTest.h b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTest.h new file mode 100644 index 0000000000..19f7aa0b75 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTest.h @@ -0,0 +1,53 @@ +/* ++----------------------------------------------------------------------+ +| (c) Copyright IBM Corporation 2005. | +| All Rights Reserved. | ++----------------------------------------------------------------------+ +| | +| 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. | ++----------------------------------------------------------------------+ +*/ + +#ifndef WSEENTRYPOINTTEST_H +#define WSEENTRYPOINTTEST_H + +#include +#include + +class WSEntryPointTest +{ +public: + virtual char* doChars(char* arg1) = 0; + virtual long doLong(long arg1) = 0; + virtual int doInt(int arg1) = 0; + virtual float doFloat(float arg1) = 0; + virtual long double doLongDouble(long double arg1) = 0; + virtual double doDouble(double arg1) = 0; + virtual bool doBool(bool arg1) = 0; + virtual short doShort(short arg1) = 0; + virtual char* doBytes(char* arg1) = 0; + virtual char doByte(char arg1) = 0; + virtual DataObjectPtr doMixed(char* arg1, long arg2, DataObjectPtr arg3, bool arg4, double arg5) = 0; + virtual DataObjectPtr doDataObject(DataObjectPtr arg1) = 0; + virtual DataObjectPtr doAny(DataObjectPtr arg1) = 0; +// These don't work because they are passing pointers around +// virtual int[] doIntArray(int[] arg1, int arg2); +// virtual string doString(string arg1); +// This doesn't work because there is no mapping from XSD types to SDO CharacterType +// virtual wchar_t doWChar(wchar_t arg1); +// This doesn't work because Operation does not support int64_t yet +// virtual int64_t doInt64(int64_t arg1); +}; + +#endif + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTest.wsdl b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTest.wsdl new file mode 100644 index 0000000000..b6328f46f6 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTest.wsdl @@ -0,0 +1,526 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.componentType b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.componentType new file mode 100644 index 0000000000..cd58a345e6 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.componentType @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.cpp b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.cpp new file mode 100644 index 0000000000..462ee1ac4d --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl.cpp @@ -0,0 +1,159 @@ +/* ++----------------------------------------------------------------------+ +| (c) Copyright IBM Corporation 2005. | +| All Rights Reserved. | ++----------------------------------------------------------------------+ +| | +| 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 "WSEntryPointTestImpl.h" +#include +#include +using namespace tuscany::sca; +#include +#include +using namespace commonj::sdo; +using namespace commonj::sdo_axiom; + +WSEntryPointTestImpl::WSEntryPointTestImpl() +{ +} + +WSEntryPointTestImpl::~WSEntryPointTestImpl() +{ +} + +// WSEntryPointTest interface +char* WSEntryPointTestImpl::doChars(char* arg1) +{ + printf("WSEntryPointTestImpl::doChars %s\n", arg1); + return arg1; +} + + +long WSEntryPointTestImpl::doLong(long arg1) +{ + printf("WSEntryPointTestImpl::doLong %d\n", arg1); + return arg1; +} + +int WSEntryPointTestImpl::doInt(int arg1) +{ + printf("WSEntryPointTestImpl::doInt %d\n", arg1); + return arg1; +} + +float WSEntryPointTestImpl::doFloat(float arg1) +{ + printf("WSEntryPointTestImpl::doFloat %f\n", arg1); + return arg1; +} + +long double WSEntryPointTestImpl::doLongDouble(long double arg1) +{ + printf("WSEntryPointTestImpl::doLongDouble %f\n", arg1); + return arg1; +} + +double WSEntryPointTestImpl::doDouble(double arg1) +{ + printf("WSEntryPointTestImpl::doDouble %f\n", arg1); + return arg1; +} + + +bool WSEntryPointTestImpl::doBool(bool arg1) +{ + printf("WSEntryPointTestImpl::doBool %d\n", arg1); + return arg1; +} + +short WSEntryPointTestImpl::doShort(short arg1) +{ + printf("WSEntryPointTestImpl::doShort %d\n", arg1); + return arg1; +} + +char* WSEntryPointTestImpl::doBytes(char* arg1) +{ + printf("WSEntryPointTestImpl::doBytes %s\n", arg1); + return arg1; +} + +char WSEntryPointTestImpl::doByte(char arg1) +{ + printf("WSEntryPointTestImpl::doByte %c\n", arg1); + return arg1; +} + +DataObjectPtr WSEntryPointTestImpl::doMixed(char* arg1, long arg2, DataObjectPtr arg3, bool arg4, double arg5) +{ + printf("WSEntryPointTestImpl::doMixed %s %d %s %d %d\n", arg1, arg2, arg3->getType().getURI(), arg4, arg5); + Utils::printDO(arg3); + return arg3; +} + +DataObjectPtr WSEntryPointTestImpl::doDataObject(DataObjectPtr arg1) +{ + printf("WSEntryPointTestImpl::doDataObject %s\n", arg1->getType().getURI()); + Utils::printDO(arg1); + return arg1; +} + +DataObjectPtr WSEntryPointTestImpl::doAny(DataObjectPtr arg1) +{ + printf("WSEntryPointTestImpl::doAny %s#%s\n", arg1->getType().getURI(), arg1->getType().getName()); + Utils::printDO(arg1); + //return arg1; + + DataFactoryPtr factory = arg1->getDataFactory(); + DataObjectPtr data = factory->create(Type::SDOTypeNamespaceURI, "OpenDataObject"); + data->setCString("stringData", "Here is some string data"); + data->setBoolean("boolData", true); + DataObjectList& list = data->getList("intDataList"); + list.append((long)123456789); + list.append((long)111111111); + list.append((long)222222222); + Utils::printDO(data); + return data; +} + +//int[] WSEntryPointTestImpl::doIntArray(int[] arg1, int arg2) +//{ +// printf("WSEntryPointTestImpl::doIntArray with length %d\n", arg2); +// for(int i=0; iinvoke(operation); + return ret; +} + +long WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doLong( long arg0) +{ + Operation operation("doLong"); + operation.addParameter(&arg0); + long ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +int WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doInt( int arg0) +{ + Operation operation("doInt"); + operation.addParameter(&arg0); + int ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +float WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doFloat( float arg0) +{ + Operation operation("doFloat"); + operation.addParameter(&arg0); + float ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +long double WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doLongDouble( long double arg0) +{ + Operation operation("doLongDouble"); + operation.addParameter(&arg0); + long double ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +double WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doDouble( double arg0) +{ + Operation operation("doDouble"); + operation.addParameter(&arg0); + double ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +bool WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doBool( bool arg0) +{ + Operation operation("doBool"); + operation.addParameter(&arg0); + bool ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +short WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doShort( short arg0) +{ + Operation operation("doShort"); + operation.addParameter(&arg0); + short ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +char* WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doBytes( char* arg0) +{ + Operation operation("doBytes"); + operation.addParameter(&arg0); + char* ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +char WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doByte( char arg0) +{ + Operation operation("doByte"); + operation.addParameter(&arg0); + char ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +DataObjectPtr WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doMixed( char* arg0, long arg1, DataObjectPtr arg2, bool arg3, double arg4) +{ + Operation operation("doMixed"); + operation.addParameter(&arg0); + operation.addParameter(&arg1); + operation.addParameter(&arg2); + operation.addParameter(&arg3); + operation.addParameter(&arg4); + DataObjectPtr ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +DataObjectPtr WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doDataObject( DataObjectPtr arg0) +{ + Operation operation("doDataObject"); + operation.addParameter(&arg0); + DataObjectPtr ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + +DataObjectPtr WSEntryPointTestImpl_WSEntryPointTestService_Proxy::doAny( DataObjectPtr arg0) +{ + Operation operation("doAny"); + operation.addParameter(&arg0); + DataObjectPtr ret; + operation.setReturnValue(&ret); + target->invoke(operation); + return ret; +} + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Proxy.h b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Proxy.h new file mode 100644 index 0000000000..9dca8a61bc --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Proxy.h @@ -0,0 +1,50 @@ +/* + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * 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. + */ + +#ifndef WSEntryPointTestImpl_WSEntryPointTestService_Proxy_h +#define WSEntryPointTestImpl_WSEntryPointTestService_Proxy_h + +#if defined(WIN32) || defined (_WINDOWS) +#pragma warning(disable: 4786) +#endif + +#include "WSEntryPointTest.h" +#include "tuscany/sca/core/ServiceWrapper.h" + +class WSEntryPointTestImpl_WSEntryPointTestService_Proxy : public WSEntryPointTest +{ +public: + WSEntryPointTestImpl_WSEntryPointTestService_Proxy(tuscany::sca::ServiceWrapper*); + virtual ~WSEntryPointTestImpl_WSEntryPointTestService_Proxy(); + virtual char* doChars( char* arg1); + virtual long doLong( long arg1); + virtual int doInt( int arg1); + virtual float doFloat( float arg1); + virtual long double doLongDouble( long double arg1); + virtual double doDouble( double arg1); + virtual bool doBool( bool arg1); + virtual short doShort( short arg1); + virtual char* doBytes( char* arg1); + virtual char doByte( char arg1); + virtual DataObjectPtr doMixed( char* arg1, long arg2, DataObjectPtr arg3, bool arg4, double arg5); + virtual DataObjectPtr doDataObject( DataObjectPtr arg1); + virtual DataObjectPtr doAny( DataObjectPtr arg1); +private: + tuscany::sca::ServiceWrapper* target; +}; + +#endif // WSEntryPointTestImpl_WSEntryPointTestService_Proxy_h + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.cpp b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.cpp new file mode 100644 index 0000000000..7a879a310b --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.cpp @@ -0,0 +1,145 @@ +/* + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * 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 "WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.h" + +#include "osoa/sca/sca.h" +using namespace osoa::sca; +using namespace tuscany::sca; + + + +extern "C" +{ + + #if defined(WIN32) || defined(_WINDOWS) + __declspec(dllexport) + #endif + WSEntryPointTestImpl_WSEntryPointTestService_Wrapper* WSEntryPointTestImpl_WSEntryPointTestService_Wrapper_Factory(tuscany::sca::model::Service* target) + { + return new WSEntryPointTestImpl_WSEntryPointTestService_Wrapper(target); + } +} + +WSEntryPointTestImpl_WSEntryPointTestService_Wrapper::WSEntryPointTestImpl_WSEntryPointTestService_Wrapper(Service* target) : ComponentServiceWrapper(target) +{ + impl = (WSEntryPointTestImpl*)getImplementation(); +} + +WSEntryPointTestImpl_WSEntryPointTestService_Wrapper::~WSEntryPointTestImpl_WSEntryPointTestService_Wrapper() +{ + releaseImplementation(); +} + +void* WSEntryPointTestImpl_WSEntryPointTestService_Wrapper::newImplementation() +{ + return new WSEntryPointTestImpl; +} + +void WSEntryPointTestImpl_WSEntryPointTestService_Wrapper::deleteImplementation() +{ + delete impl; +} + +void WSEntryPointTestImpl_WSEntryPointTestService_Wrapper::invokeService(Operation& operation) +{ + const string& operationName = operation.getName(); + + if (operationName == "doChars") + { + char* p0 = *( char**)operation.getParameterValue(0); + *(char**)operation.getReturnValue() = impl->doChars(p0); + return; + } + if (operationName == "doLong") + { + long& p0 = *( long*)operation.getParameterValue(0); + *(long*)operation.getReturnValue() = impl->doLong(p0); + return; + } + if (operationName == "doInt") + { + int& p0 = *( int*)operation.getParameterValue(0); + *(int*)operation.getReturnValue() = impl->doInt(p0); + return; + } + if (operationName == "doFloat") + { + float& p0 = *( float*)operation.getParameterValue(0); + *(float*)operation.getReturnValue() = impl->doFloat(p0); + return; + } + if (operationName == "doLongDouble") + { + long double& p0 = *( long double*)operation.getParameterValue(0); + *(long double*)operation.getReturnValue() = impl->doLongDouble(p0); + return; + } + if (operationName == "doDouble") + { + double& p0 = *( double*)operation.getParameterValue(0); + *(double*)operation.getReturnValue() = impl->doDouble(p0); + return; + } + if (operationName == "doBool") + { + bool& p0 = *( bool*)operation.getParameterValue(0); + *(bool*)operation.getReturnValue() = impl->doBool(p0); + return; + } + if (operationName == "doShort") + { + short& p0 = *( short*)operation.getParameterValue(0); + *(short*)operation.getReturnValue() = impl->doShort(p0); + return; + } + if (operationName == "doBytes") + { + char* p0 = *( char**)operation.getParameterValue(0); + *(char**)operation.getReturnValue() = impl->doBytes(p0); + return; + } + if (operationName == "doByte") + { + char& p0 = *( char*)operation.getParameterValue(0); + *(char*)operation.getReturnValue() = impl->doByte(p0); + return; + } + if (operationName == "doMixed") + { + char* p0 = *( char**)operation.getParameterValue(0); + long& p1 = *( long*)operation.getParameterValue(1); + DataObjectPtr& p2 = *(DataObjectPtr*)operation.getParameterValue(2); bool& p3 = *( bool*)operation.getParameterValue(3); + double& p4 = *( double*)operation.getParameterValue(4); + *(DataObjectPtr*)operation.getReturnValue() = impl->doMixed(p0, p1, p2, p3, p4); + return; + } + if (operationName == "doDataObject") + { + DataObjectPtr& p0 = *(DataObjectPtr*)operation.getParameterValue(0); *(DataObjectPtr*)operation.getReturnValue() = impl->doDataObject(p0); + return; + } + if (operationName == "doAny") + { + DataObjectPtr& p0 = *(DataObjectPtr*)operation.getParameterValue(0); *(DataObjectPtr*)operation.getReturnValue() = impl->doAny(p0); + return; + } + + + throw ServiceRuntimeException("Invalid operation"); + +} + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.h b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.h new file mode 100644 index 0000000000..7bcd09b7c8 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestImpl_WSEntryPointTestService_Wrapper.h @@ -0,0 +1,40 @@ +/* + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * 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. + */ + +#ifndef WSEntryPointTestImpl_WSEntryPointTestService_Wrapper_h +#define WSEntryPointTestImpl_WSEntryPointTestService_Wrapper_h + +#if defined(WIN32) || defined (_WINDOWS) +#pragma warning(disable: 4786) +#endif + +#include "WSEntryPointTestImpl.h" +#include "tuscany/sca/core/ComponentServiceWrapper.h" + +class WSEntryPointTestImpl_WSEntryPointTestService_Wrapper : public tuscany::sca::ComponentServiceWrapper +{ +public: + WSEntryPointTestImpl_WSEntryPointTestService_Wrapper(tuscany::sca::model::Service* target); + virtual ~WSEntryPointTestImpl_WSEntryPointTestService_Wrapper(); + virtual void invokeService(tuscany::sca::Operation& operation); + virtual void* newImplementation(); + virtual void deleteImplementation(); +private: + WSEntryPointTestImpl* impl; +}; + +#endif // WSEntryPointTestImpl_WSEntryPointTestService_Wrapper_h + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestModule.vcproj b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestModule.vcproj new file mode 100644 index 0000000000..6ff73c3f1c --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/WSEntryPointTestModule.vcproj @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/sca.module b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/sca.module new file mode 100644 index 0000000000..f92fae8110 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/sca.module @@ -0,0 +1,19 @@ + + + + + + + + WSEntryPointTestServiceComponent + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/services.xml b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/services.xml new file mode 100644 index 0000000000..b863c79409 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestModule/services.xml @@ -0,0 +1,62 @@ + + + + tuscany_sca_ws_service + D:/tuscany/cpp/sca/test/WSEntryPointTest/runtime + WSEntryPointTestSubsystem/WSEntryPointTestService/WSEntryPointTestEntrypoint + + + This is a testing service , to test the system is working or not + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestSubsystem/sca.subsystem b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestSubsystem/sca.subsystem new file mode 100644 index 0000000000..45ae34fd42 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/WSEntryPointTestSubsystem/sca.subsystem @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/Tuscany-model.config b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/Tuscany-model.config new file mode 100644 index 0000000000..982f7bc271 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/Tuscany-model.config @@ -0,0 +1,24 @@ + + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTest.h b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTest.h new file mode 100644 index 0000000000..19f7aa0b75 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTest.h @@ -0,0 +1,53 @@ +/* ++----------------------------------------------------------------------+ +| (c) Copyright IBM Corporation 2005. | +| All Rights Reserved. | ++----------------------------------------------------------------------+ +| | +| 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. | ++----------------------------------------------------------------------+ +*/ + +#ifndef WSEENTRYPOINTTEST_H +#define WSEENTRYPOINTTEST_H + +#include +#include + +class WSEntryPointTest +{ +public: + virtual char* doChars(char* arg1) = 0; + virtual long doLong(long arg1) = 0; + virtual int doInt(int arg1) = 0; + virtual float doFloat(float arg1) = 0; + virtual long double doLongDouble(long double arg1) = 0; + virtual double doDouble(double arg1) = 0; + virtual bool doBool(bool arg1) = 0; + virtual short doShort(short arg1) = 0; + virtual char* doBytes(char* arg1) = 0; + virtual char doByte(char arg1) = 0; + virtual DataObjectPtr doMixed(char* arg1, long arg2, DataObjectPtr arg3, bool arg4, double arg5) = 0; + virtual DataObjectPtr doDataObject(DataObjectPtr arg1) = 0; + virtual DataObjectPtr doAny(DataObjectPtr arg1) = 0; +// These don't work because they are passing pointers around +// virtual int[] doIntArray(int[] arg1, int arg2); +// virtual string doString(string arg1); +// This doesn't work because there is no mapping from XSD types to SDO CharacterType +// virtual wchar_t doWChar(wchar_t arg1); +// This doesn't work because Operation does not support int64_t yet +// virtual int64_t doInt64(int64_t arg1); +}; + +#endif + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTest.wsdl b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTest.wsdl new file mode 100644 index 0000000000..294ae076a7 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTest.wsdl @@ -0,0 +1,526 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTestImpl.componentType b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTestImpl.componentType new file mode 100644 index 0000000000..cd58a345e6 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTestImpl.componentType @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTestImpl.h b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTestImpl.h new file mode 100644 index 0000000000..926b6073d4 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/WSEntryPointTestImpl.h @@ -0,0 +1,57 @@ +/* ++----------------------------------------------------------------------+ +| (c) Copyright IBM Corporation 2005. | +| All Rights Reserved. | ++----------------------------------------------------------------------+ +| | +| 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. | ++----------------------------------------------------------------------+ +*/ + +#ifndef WSEENTRYPOINTTESTIMPL_H +#define WSEENTRYPOINTTESTIMPL_H + +#include "WSEntryPointTest.h" + +class WSEntryPointTestImpl : public WSEntryPointTest +{ +public: + WSEntryPointTestImpl(); + virtual ~WSEntryPointTestImpl(); + + // WSEntryPointTest interface + virtual char* doChars(char* arg1); + virtual long doLong(long arg1); + virtual int doInt(int arg1); + virtual float doFloat(float arg1); + virtual long double doLongDouble(long double arg1); + virtual double doDouble(double arg1); + virtual bool doBool(bool arg1); + virtual short doShort(short arg1); + virtual char* doBytes(char* arg1); + virtual char doByte(char arg1); + virtual DataObjectPtr doMixed(char* arg1, long arg2, DataObjectPtr arg3, bool arg4, double arg5); + virtual DataObjectPtr doDataObject(DataObjectPtr arg1); + virtual DataObjectPtr doAny(DataObjectPtr arg1); + +// These don't work because they are passing pointers around +// virtual int[] doIntArray(int[] arg1, int arg2); +// virtual string doString(string arg1); +// This doesn't work because there is no mapping from XSD types to SDO CharacterType +// virtual wchar_t doWChar(wchar_t arg1); +// This doesn't work because Operation does not support int64_t yet +// virtual int64_t doInt64(int64_t arg1); + +}; + +#endif + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/sca.module b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/sca.module new file mode 100644 index 0000000000..f92fae8110 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/modules/WSEntryPointTestModule/sca.module @@ -0,0 +1,19 @@ + + + + + + + + WSEntryPointTestServiceComponent + + + + + + + + + diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/subsystems/WSEntryPointTestSubsystem/sca.subsystem b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/subsystems/WSEntryPointTestSubsystem/sca.subsystem new file mode 100644 index 0000000000..45ae34fd42 --- /dev/null +++ b/tags/cpp-0.1.incubating-M1-RC3/sca/test/WSEntryPointTest/runtime/subsystems/WSEntryPointTestSubsystem/sca.subsystem @@ -0,0 +1,23 @@ + + + + + + + + + -- cgit v1.2.3