[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 的服务器。 这个时候response 里面自然也就是空的了。


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

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

但是在协作开发的时候, 如果遇到无法调试的状况, 可以在本机使用源码重新产生一个 .lib 档试试



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oscar999

送以玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值