zoukankan      html  css  js  c++  java
  • [Teamcenter 2007 开发实战] 调用web service

    前言

    在TC的服务端开发中, 能够使用gsoap 来调用web service.

    怎样使用 gsoap  , 參考

    gsoap 实现 C/C++ 调用web service

    接下来介绍怎样在TC中进行开发。


    开发的方式与环境搭建

    在TC的CF端调用webservice , 能够把gsoap 产生和完毕的代码打成一个  .lib 的文件(windows, 在linux 下是 .a 的文件)

    这里使用的开发工具是 visual studio .

    新建一个空的项目。 语言选 C++的就能够了


    创建完毕之后的路径如上。

    上面的文件结构中。 除了 libsoa.h 和libsoa.c 文件外。 其它的文件都是gsoap依据 wsdl 产生的.

    在libsoa.c 这份文件中面。 我们写一些包装 function 来供外部调用。

    原因是gsoap 产生出来的function 名称都比較长,不方便使用

    相似 ns1__XXXXXX 这种。

    要产生成 .lib 档, 在项目的 属性中做例如以下设置:


    设置完毕, 并完毕相关代码的编写, 就能够产生 .lib 档了

    点击 生成 --》 生成解决方式

    这种话在项目的路径下会产生一个Debug 文件夹。

    途径相似:




    开发中注意的一些问题

        returnflag=soap_call___ns1__batchExecuteSqls(&meSoap,Parameter.EndPoint, NULL, batchExecuteSqlsRequest, batchExecuteSqlsResponse);
        if (returnflag==28)
        {		
    	    *ReturnCode=strdup("fail");
            *ReturnMsg=strdup("Could not connect to web service host!");
        }
        else if(batchExecuteSqlsResponse!=NULL)
        {
            *ReturnCode= strdup(batchExecuteSqlsResponse->ReturnCode);
            *ReturnMsg=strdup(batchExecuteSqlsResponse->ErrorMessage);
        }

    相似上面的代码:

    返回值是28 代表不能连接 web service 的server。 这个时候response 里面自然也就是空的了。


    另外要注意的一个问题是:

    以上产生的 .lib 是能够在Visual studio 中进行调试的。

    可是在协作开发的时候。 假设遇到无法调试的状况, 能够在本机使用源代码又一次产生一个 .lib 档试试



  • 相关阅读:
    rhel7 编写CMakeList.txt编译运行MySQL官方例子代码
    记录下 rhel 7 安装MySQL 并重置root密码
    杨辉三角 可以不用二维数组的
    一个ACE 架构的 Socket Client
    一个ACE 架构的 C++ Timer
    一个C++版的网络数据包解析策略
    标记下 'net 查壳/脱壳/加壳' 工具
    C++动态加载DLL调用方法
    C# (灰度)加权平均法将图片转换为灰度图
    C# GMap下提供一个高德地图
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/7040489.html
Copyright © 2011-2022 走看看