diff options
Diffstat (limited to 'tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service')
14 files changed, 1755 insertions, 0 deletions
diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/deploy.cmd b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/deploy.cmd new file mode 100644 index 0000000000..d6d0c72cb9 --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/deploy.cmd @@ -0,0 +1,57 @@ +@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.
+
+
+rem Will copy the correct files from the source tree for packaging and deployment of the
+rem SCA sample.
+setlocal
+set currentPath=%~d0%~p0
+set sourcePath=%currentPath%
+
+
+set destinationPath=%sourcePath%\deploy
+
+if not exist %destinationPath%\packages mkdir %destinationPath%\packages
+if not exist %destinationPath%\packages\ws.binding.service mkdir %destinationPath%\packages\ws.binding.service
+
+copy %sourcePath%\ws.binding.service\TestImpl.componentType %destinationPath%\packages\ws.binding.service
+copy %sourcePath%\ws.binding.service\ws.binding.service.composite %destinationPath%\packages\ws.binding.service
+copy %sourcePath%\ws.binding.service\Test.h %destinationPath%\packages\ws.binding.service
+copy %sourcePath%\ws.binding.service\TestImpl.h %destinationPath%\packages\ws.binding.service
+copy %sourcePath%\ws.binding.service\Test.wsdl %destinationPath%\packages\ws.binding.service
+copy %sourcePath%\ws.binding.service\Debug\ws.binding.service.dll %destinationPath%\packages\ws.binding.service
+
+if not exist %destinationPath%\bin mkdir %destinationPath%\bin
+copy %sourcePath%\ws.binding.service.client\Debug\ws.binding.service.client.exe %destinationPath%\bin
+copy %sourcePath%\ws.binding.service.client\Debug\ws.binding.service.client.pdb %destinationPath%\bin
+copy %sourcePath%\ws.binding.service.client\runclient.bat %destinationPath%\bin
+
+
+if not exist %destinationPath%\configuration mkdir %destinationPath%\configuration
+if not exist %destinationPath%\configuration\ws.binding.service.solution mkdir %destinationPath%\configuration\ws.binding.service.solution
+
+copy %sourcePath%\ws.binding.service\ws.binding.service.solution.composite %destinationPath%\configuration\ws.binding.service.solution
+
+
+if not exist %AXIS2C_HOME%\services\ws.binding.service mkdir %AXIS2C_HOME%\services\ws.binding.service
+
+copy %sourcePath%\ws.binding.service\services.xml %AXIS2C_HOME%\services\ws.binding.service
+copy %TUSCANY_SCACPP%\extensions\ws\service\bin\tuscany_sca_ws_service.dll %AXIS2C_HOME%\services\ws.binding.service
+
+
+endlocal
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>
diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.sln b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.sln new file mode 100644 index 0000000000..b1de123e0a --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service.sln @@ -0,0 +1,37 @@ +Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ws.binding.service", "ws.binding.service\ws.binding.service.vcproj", "{25B65303-B2E2-47AF-968C-89D9E58611F8}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ws.binding.service.client", "ws.binding.service.client\ws.binding.service.client.vcproj", "{136C4966-3073-4EB0-9259-BC5E3B987D19}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DevClient", "DevClient\DevClient.vcproj", "{2598A8C7-079E-4B56-A95D-134EAF52C59A}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {25B65303-B2E2-47AF-968C-89D9E58611F8}.Debug.ActiveCfg = Debug|Win32
+ {25B65303-B2E2-47AF-968C-89D9E58611F8}.Debug.Build.0 = Debug|Win32
+ {25B65303-B2E2-47AF-968C-89D9E58611F8}.Release.ActiveCfg = Release|Win32
+ {25B65303-B2E2-47AF-968C-89D9E58611F8}.Release.Build.0 = Release|Win32
+ {136C4966-3073-4EB0-9259-BC5E3B987D19}.Debug.ActiveCfg = Debug|Win32
+ {136C4966-3073-4EB0-9259-BC5E3B987D19}.Debug.Build.0 = Debug|Win32
+ {136C4966-3073-4EB0-9259-BC5E3B987D19}.Release.ActiveCfg = Release|Win32
+ {136C4966-3073-4EB0-9259-BC5E3B987D19}.Release.Build.0 = Release|Win32
+ {2598A8C7-079E-4B56-A95D-134EAF52C59A}.Debug.ActiveCfg = Debug|Win32
+ {2598A8C7-079E-4B56-A95D-134EAF52C59A}.Debug.Build.0 = Debug|Win32
+ {2598A8C7-079E-4B56-A95D-134EAF52C59A}.Release.ActiveCfg = Release|Win32
+ {2598A8C7-079E-4B56-A95D-134EAF52C59A}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/Test.h b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/Test.h new file mode 100644 index 0000000000..aaff35a6cc --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/Test.h @@ -0,0 +1,50 @@ +/* ++----------------------------------------------------------------------+ +| | +| 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 TEST_H +#define TEST_H + +#include <commonj/sdo/SDO.h> +#include <stdio.h> + +class Test +{ +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-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/Test.wsdl b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/Test.wsdl new file mode 100644 index 0000000000..23ab8b08e4 --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/Test.wsdl @@ -0,0 +1,531 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://test/ws.binding.service/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="ws.binding.service" + targetNamespace="http://test/ws.binding.service/"> + <wsdl:types> + <xsd:schema targetNamespace="http://test/ws.binding.service/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <xsd:element name="doChars"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:string" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doCharsResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:string" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doString"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:string" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doLong"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:int" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doLongResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:int" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doInt"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:int" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doIntResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:int" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doFloat"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:float" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doFloatResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:float" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doLongDouble"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:double" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doLongDoubleResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:double" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doDouble"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:double" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doDoubleResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:double" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doBool"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:boolean" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doBoolResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:boolean" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doShort"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:short" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doShortResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:short" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doBytes"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:hexBinary" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doBytesResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:hexBinary" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doByte"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:byte" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doByteResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:byte" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + + + <xsd:element name="doMixed"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="arg1" type="xsd:string" minOccurs="1"/> + <xsd:element name="arg2" type="xsd:int" minOccurs="1"/> + <xsd:element name="arg3" type="dataObjectData" minOccurs="1"/> + <xsd:element name="arg4" type="xsd:boolean" minOccurs="1"/> + <xsd:element name="arg5" type="xsd:float" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doMixedResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="dataObjectData" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doDataObject"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="dataObjectData" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doDataObjectResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="dataObjectData" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="dataObjectData"> + <xsd:sequence> + <xsd:element name="someStringData" type="xsd:string" minOccurs="1"/> + <xsd:element name="someIntData" type="xsd:int" minOccurs="1"/> + <xsd:element name="someFloatData" type="xsd:float" minOccurs="1"/> + <xsd:element name="someDateData" type="xsd:date" minOccurs="1"/> + <xsd:element name="someListData" type="tns:listData" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="listData"> + <xsd:sequence> + <xsd:element name="listItem" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:element name="doAny"> + <xsd:complexType> + <xsd:sequence> + <xsd:any minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="doAnyResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:any minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- Can't do wchar - no mapping from XSD type to SDO:Character type + + <xsd:element name="doWChar"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" minOccurs="1"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:length value="1"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doWChar"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" minOccurs="1"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:length value="1"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + --> + + <!-- Int64 not yet supported - see Jira TUSCANY-439 + <xsd:element name="doInt64"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:long" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="doInt64Response"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="someData" type="xsd:long" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + --> + + <!-- Can't do doIntArray --> + </xsd:schema> + </wsdl:types> + + <wsdl:message name="doDataObjectRequestMsg"> + <wsdl:part element="tns:doDataObject" name="doDataObjectRequestPart"/> + </wsdl:message> + <wsdl:message name="doDataObjectResponseMsg"> + <wsdl:part element="tns:doDataObjectResponse" name="doDataObjectResponsePart"/> + </wsdl:message> + + <wsdl:message name="doCharsRequestMsg"> + <wsdl:part element="tns:doChars" name="doCharsRequestPart"/> + </wsdl:message> + <wsdl:message name="doCharsResponseMsg"> + <wsdl:part element="tns:doCharsResponse" name="doCharsResponsePart"/> + </wsdl:message> + + <wsdl:message name="doStringRequestMsg"> + <wsdl:part element="tns:doString" name="doStringRequestPart"/> + </wsdl:message> + <wsdl:message name="doStringResponseMsg"> + <wsdl:part element="tns:doCharsResponse" name="doStringResponsePart"/> + </wsdl:message> + + <wsdl:message name="doLongRequestMsg"> + <wsdl:part element="tns:doLong" name="doLongRequestPart"/> + </wsdl:message> + <wsdl:message name="doLongResponseMsg"> + <wsdl:part element="tns:doLongResponse" name="doLongResponsePart"/> + </wsdl:message> + + <wsdl:message name="doIntRequestMsg"> + <wsdl:part element="tns:doInt" name="doIntRequestPart"/> + </wsdl:message> + <wsdl:message name="doIntResponseMsg"> + <wsdl:part element="tns:doIntResponse" name="doIntResponsePart"/> + </wsdl:message> + + <wsdl:message name="doFloatRequestMsg"> + <wsdl:part element="tns:doFloat" name="doFloatRequestPart"/> + </wsdl:message> + <wsdl:message name="doFloatResponseMsg"> + <wsdl:part element="tns:doFloatResponse" name="doFloatResponsePart"/> + </wsdl:message> + + <wsdl:message name="doLongDoubleRequestMsg"> + <wsdl:part element="tns:doLongDouble" name="doLongDoubleRequestPart"/> + </wsdl:message> + <wsdl:message name="doLongDoubleResponseMsg"> + <wsdl:part element="tns:doLongDoubleResponse" name="doLongDoubleResponsePart"/> + </wsdl:message> + + <wsdl:message name="doDoubleRequestMsg"> + <wsdl:part element="tns:doDouble" name="doDoubleRequestPart"/> + </wsdl:message> + <wsdl:message name="doDoubleResponseMsg"> + <wsdl:part element="tns:doDoubleResponse" name="doDoubleResponsePart"/> + </wsdl:message> + + <wsdl:message name="doBoolRequestMsg"> + <wsdl:part element="tns:doBool" name="doBoolRequestPart"/> + </wsdl:message> + <wsdl:message name="doBoolResponseMsg"> + <wsdl:part element="tns:doBoolResponse" name="doBoolResponsePart"/> + </wsdl:message> + + <wsdl:message name="doShortRequestMsg"> + <wsdl:part element="tns:doShort" name="doShortRequestPart"/> + </wsdl:message> + <wsdl:message name="doShortResponseMsg"> + <wsdl:part element="tns:doShortResponse" name="doShortResponsePart"/> + </wsdl:message> + + <wsdl:message name="doBytesRequestMsg"> + <wsdl:part element="tns:doBytes" name="doBytesRequestPart"/> + </wsdl:message> + <wsdl:message name="doBytesResponseMsg"> + <wsdl:part element="tns:doBytesResponse" name="doBytesResponsePart"/> + </wsdl:message> + + <wsdl:message name="doByteRequestMsg"> + <wsdl:part element="tns:doByte" name="doByteRequestPart"/> + </wsdl:message> + <wsdl:message name="doByteResponseMsg"> + <wsdl:part element="tns:doByteResponse" name="doByteResponsePart"/> + </wsdl:message> + + <wsdl:message name="doMixedRequestMsg"> + <wsdl:part element="tns:doMixed" name="doMixedRequestPart"/> + </wsdl:message> + <wsdl:message name="doMixedResponseMsg"> + <wsdl:part element="tns:doMixedResponse" name="doMixedResponsePart"/> + </wsdl:message> + + <wsdl:message name="doAnyRequestMsg"> + <wsdl:part element="tns:doAny" name="doAnyRequestPart"/> + </wsdl:message> + <wsdl:message name="doAnyResponseMsg"> + <wsdl:part element="tns:doAnyResponse" name="doAnyResponsePart"/> + </wsdl:message> + + + <wsdl:portType name="ws.binding.service"> + <wsdl:operation name="doDataObject"> + <wsdl:input message="tns:doDataObjectRequestMsg"/> + <wsdl:output message="tns:doDataObjectResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doChars"> + <wsdl:input message="tns:doCharsRequestMsg"/> + <wsdl:output message="tns:doCharsResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doString"> + <wsdl:input message="tns:doStringRequestMsg"/> + <wsdl:output message="tns:doStringResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doLong"> + <wsdl:input message="tns:doLongRequestMsg"/> + <wsdl:output message="tns:doLongResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doInt"> + <wsdl:input message="tns:doIntRequestMsg"/> + <wsdl:output message="tns:doIntResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doFloat"> + <wsdl:input message="tns:doFloatRequestMsg"/> + <wsdl:output message="tns:doFloatResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doLongDouble"> + <wsdl:input message="tns:doLongDoubleRequestMsg"/> + <wsdl:output message="tns:doLongDoubleResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doDouble"> + <wsdl:input message="tns:doDoubleRequestMsg"/> + <wsdl:output message="tns:doDoubleResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doBool"> + <wsdl:input message="tns:doBoolRequestMsg"/> + <wsdl:output message="tns:doBoolResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doShort"> + <wsdl:input message="tns:doShortRequestMsg"/> + <wsdl:output message="tns:doShortResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doBytes"> + <wsdl:input message="tns:doBytesRequestMsg"/> + <wsdl:output message="tns:doBytesResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doByte"> + <wsdl:input message="tns:doByteRequestMsg"/> + <wsdl:output message="tns:doByteResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doMixed"> + <wsdl:input message="tns:doMixedRequestMsg"/> + <wsdl:output message="tns:doMixedResponseMsg"/> + </wsdl:operation> + <wsdl:operation name="doAny"> + <wsdl:input message="tns:doAnyRequestMsg"/> + <wsdl:output message="tns:doAnyResponseMsg"/> + </wsdl:operation> + </wsdl:portType> + + + <wsdl:binding name="ws.binding.serviceSOAP" type="tns:ws.binding.service"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="doDataObject"> + <soap:operation soapAction="ws.binding.service/doDataObject"/> + <wsdl:input> + <soap:body use="literal"/> + </wsdl:input> + <wsdl:output> + <soap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="doChars"> + <soap:operation soapAction="ws.binding.service/doChars"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doString"> + <soap:operation soapAction="ws.binding.service/doString"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doLong"> + <soap:operation soapAction="ws.binding.service/doLong"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doInt"> + <soap:operation soapAction="ws.binding.service/doInt"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doFloat"> + <soap:operation soapAction="ws.binding.service/doFloat"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doLongDouble"> + <soap:operation soapAction="ws.binding.service/doLongDouble"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doDouble"> + <soap:operation soapAction="ws.binding.service/doDouble"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doBool"> + <soap:operation soapAction="ws.binding.service/doBool"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doShort"> + <soap:operation soapAction="ws.binding.service/doShort"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doBytes"> + <soap:operation soapAction="ws.binding.service/doBytes"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doByte"> + <soap:operation soapAction="ws.binding.service/doByte"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doMixed"> + <soap:operation soapAction="ws.binding.service/doMixed"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + <wsdl:operation name="doAny"> + <soap:operation soapAction="ws.binding.service/doAny"/> + <wsdl:input><soap:body use="literal"/></wsdl:input> + <wsdl:output><soap:body use="literal"/></wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="ws.binding.service"> + <wsdl:port binding="tns:ws.binding.serviceSOAP" name="ws.binding.serviceSOAP"> + <soap:address location="http://localhost:9090/axis2/services/ws.binding.service"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.componentType b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.componentType new file mode 100644 index 0000000000..d0cca1882d --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.componentType @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="ASCII"?> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"> + + <service name="TestService"> + <interface.cpp header="Test.h"/> + </service> + +</componentType> diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.cpp b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.cpp new file mode 100644 index 0000000000..e24534701d --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.cpp @@ -0,0 +1,158 @@ +/* ++----------------------------------------------------------------------+ +| (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 "TestImpl.h" +#include <stdio.h> +#include <tuscany/sca/util/Utils.h> +using namespace tuscany::sca; +#include <commonj/sdo/SDO.h> +#include <sdo_axiom.h> +using namespace commonj::sdo; +using namespace commonj::sdo_axiom; + +TestImpl::TestImpl() +{ +} + +TestImpl::~TestImpl() +{ +} + +char* TestImpl::doChars(char* arg1) +{ + printf("TestImpl::doChars %s\n", arg1); + return arg1; +} + + +long TestImpl::doLong(long arg1) +{ + printf("TestImpl::doLong %d\n", arg1); + return arg1; +} + +int TestImpl::doInt(int arg1) +{ + printf("TestImpl::doInt %d\n", arg1); + return arg1; +} + +float TestImpl::doFloat(float arg1) +{ + printf("TestImpl::doFloat %f\n", arg1); + return arg1; +} + +long double TestImpl::doLongDouble(long double arg1) +{ + printf("TestImpl::doLongDouble %f\n", arg1); + return arg1; +} + +double TestImpl::doDouble(double arg1) +{ + printf("TestImpl::doDouble %f\n", arg1); + return arg1; +} + + +bool TestImpl::doBool(bool arg1) +{ + printf("TestImpl::doBool %d\n", arg1); + return arg1; +} + +short TestImpl::doShort(short arg1) +{ + printf("TestImpl::doShort %d\n", arg1); + return arg1; +} + +char* TestImpl::doBytes(char* arg1) +{ + printf("TestImpl::doBytes %s\n", arg1); + return arg1; +} + +char TestImpl::doByte(char arg1) +{ + printf("TestImpl::doByte %c\n", arg1); + return arg1; +} + +DataObjectPtr TestImpl::doMixed(char* arg1, long arg2, DataObjectPtr arg3, bool arg4, double arg5) +{ + printf("TestImpl::doMixed %s %d %s %d %d\n", arg1, arg2, arg3->getType().getURI(), arg4, arg5); + Utils::printDO(arg3); + return arg3; +} + +DataObjectPtr TestImpl::doDataObject(DataObjectPtr arg1) +{ + printf("TestImpl::doDataObject %s\n", arg1->getType().getURI()); + Utils::printDO(arg1); + return arg1; +} + +DataObjectPtr TestImpl::doAny(DataObjectPtr arg1) +{ + printf("TestImpl::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[] TestImpl::doIntArray(int[] arg1, int arg2) +//{ +// printf("TestImpl::doIntArray with length %d\n", arg2); +// for(int i=0; i<arg2; i++) +// { +// printf("%d\n", arg1[i]); +// } +// return arg1; +//} +// +//string TestImpl::doString(string arg1) +//{ +// printf("TestImpl::doString %s\n", arg1.c_str()); +// return arg1; +//} +// +//wchar_t TestImpl::doWChar(wchar_t arg1) +//{ +// printf("TestImpl::doWChar %s\n", arg1); +// return arg1; +//} +// +//int64_t TestImpl::doInt64(int64_t arg1) +//{ +// printf("TestImpl::doInt64 %d\n", arg1); +// return arg1; +//} + diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.h b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.h new file mode 100644 index 0000000000..3026d4c7aa --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/TestImpl.h @@ -0,0 +1,54 @@ +/* ++----------------------------------------------------------------------+ +| | +| 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 TESTIMPL_H +#define TESTIMPL_H + +#include "Test.h" + +class TestImpl : public Test +{ +public: + TestImpl(); + virtual ~TestImpl(); + + // WSCompositeServiceTest 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-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/services.xml b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/services.xml new file mode 100644 index 0000000000..b223a53dad --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/services.xml @@ -0,0 +1,62 @@ + +<!-- + Copyright 2006 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. + --> +<service name="ws.binding.service"> + <parameter name="ServiceClass" locked="xsd:false">tuscany_sca_ws_service</parameter> + <parameter name="TuscanySystemRoot" locked="xsd:false">D:/tuscany/cpp/sca/test/ws.binding.service/deploy</parameter> + <parameter name="TuscanyService" locked="xsd:false">ws.binding.service.solution.component/ws.binding.service</parameter> + + <description> + This is a testing service , to test the system is working or not + </description> + + <operation name="doChars"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doLong"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doInt"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doFloat"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doLongDouble"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doDouble"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doBool"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doShort"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doBytes"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doMixed"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doDataObject"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> + <operation name="doAny"> + <!--messageReceiver class="axis2_receivers" /--> + </operation> +</service> diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.composite b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.composite new file mode 100644 index 0000000000..98393813f3 --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.composite @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + name="ws.binding.service"> + + <!-- Expose as a web service --> + <service name="ws.binding.service"> + <interface.wsdl interface="Test.wsdl"/> + <binding.ws port="http://test/ws.binding.service/#wsdl.endpoint(ws.binding.service/ws.binding.serviceSOAP)"/> + <reference>ws.binding.service.component/TestService</reference> + </service> + + + <component name="ws.binding.service.component"> + <implementation.cpp library="ws.binding.service" header="TestImpl.h"/> + </component> +</composite> diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.solution.composite b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.solution.composite new file mode 100644 index 0000000000..e1e402454b --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.solution.composite @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. + --> + +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + name="ws.binding.service.solution"> + + + <component name="ws.binding.service.solution.component"> + <implementation.composite name="ws.binding.service" /> + </component> + +</composite> + diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.vcproj b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.vcproj new file mode 100644 index 0000000000..22c601b695 --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sca/test/ws.binding.service/ws.binding.service/ws.binding.service.vcproj @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="ws.binding.service"
+ ProjectGUID="{25B65303-B2E2-47AF-968C-89D9E58611F8}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="$(TUSCANY_SCACPP)/include,$(TUSCANY_SCACPP)/extensions/cpp/include,$(TUSCANY_SDOCPP)/include,$(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="tuscany_sca.lib tuscany_sdo.lib tuscany_sca_cpp.lib"
+ OutputFile="$(OutDir)/ws.binding.service.dll"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="$(TUSCANY_SCACPP)/lib,$(TUSCANY_SCACPP)/extensions/cpp/lib,$(TUSCANY_SDOCPP)/lib,$(AXIS2C_HOME)/lib"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/service.ws.binding.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"
+ CommandLine="$(TUSCANY_SCACPP)/bin/scagen.cmd -dir . -output . -verbose"
+ ExcludedFromBuild="TRUE"/>
+ <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.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=".\TestImpl.cpp">
+ </File>
+ <File
+ RelativePath=".\TestImpl_TestService_Proxy.cpp">
+ </File>
+ <File
+ RelativePath=".\TestImpl_TestService_Wrapper.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\Test.h">
+ </File>
+ <File
+ RelativePath=".\TestImpl.h">
+ </File>
+ <File
+ RelativePath=".\TestImpl_TestService_Proxy.h">
+ </File>
+ <File
+ RelativePath=".\TestImpl_TestService_Wrapper.h">
+ </File>
+ </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=".\services.xml">
+ </File>
+ <File
+ RelativePath=".\Test.wsdl">
+ </File>
+ <File
+ RelativePath=".\TestImpl.componentType">
+ </File>
+ <File
+ RelativePath=".\ws.binding.service.composite">
+ </File>
+ <File
+ RelativePath=".\ws.binding.service.solution.composite">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
|