[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 档试试

时间: 2024-11-08 17:28:54

[Teamcenter 2007 开发实战] 调用web service的相关文章

[Teamcenter 2007 开发实战] 获取错误或提示信息

前言 TC 的开发分为CF 端开发和Web 端开发. CF端和Web 端各自有自己的错误信息提示方式. 两种方式是否可以有一些整合? 整合的好处即统一了显示, 又减少了重复 CF 端错误信息 CF 端错误一般是给OMF 端来使用的. OMF是一个富客户端的程序. 错误方式就是弹出一个窗口. 代码开发方式如下: CheckDstat(uiShowText("errText001", NULL, UI_ATTENTION_TEXT, *mfail, WHERE)); *mfail = 11

C#开发和调用Web Service

Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup Language)扩展型可标记语言.面向短期的临时数据处理.面向万维网络,是Soap的基础. Soap:(Simple Object Access

[Teamcenter 2007 开发系列] web 非空验证

前言 TC 2007 的Web 端,页面简洁也简单. 非空验证的话,直接在后面加上一个 红箭头+ "Required value is not specified." 这样一些红色的提示信息. 而这种验证看上去又是和CF端的form 的定义管理起来的. 定义成require 的属性会做这种验证. 那么在web 端实现的机制是怎样的呢? 是否可以不和CF端绑定,在 Web端直接进行这种验证呢? 实现机制 以创建一个物件为例,关键的action-component 是 ModelEntit

Android开发之使用Web Service进行网络编程

使用Web Service进行网络编程 Android应用通常都是执行在手机平台上.手机系统的硬件资源是有限的,无论是存储能力还是计算能力都有限.在Android系统上开发.执行一些单用户.小型应用是可能的, 但对于须要进行大量的数据处理.复杂计算的应用.还是仅仅能部署在远程server上,Android应用将仅仅是充当这些应用的client. 为了让Android应用与远程server之间进行交互,能够借助子Java的RMI技术,但这要求远程server程序必须採用Java实现:也能够借助于C

php5调用web service

工作中需要用php调用web service接口,对php不熟,上网搜搜,发现关于用php调用web service的文章也不多,不少还是php4里用nusoap这个模块调用的方法,其实php5里已经包含了处理soap的模块,但是资料太少了,上php官网上查帮助,写的不是很容易理解,经过多次实践,终于搞清楚了,php调用web service还是非常简单的.下面用一个例子说明: extension=php_openssl.dll extension=php_soap.dll php.ini 这2

Android---56---Android应用调用Web Service/号码归属地查询

使用Android应用调用Web Service 需要工具: ksoap2-android 下载地址:http://pan.baidu.com/s/1jGL6b10 build path将ksoap2-android 添加到项目工程中 先将ksoap2-android 包导入 libs目录下,右键build path -> add to build path 点击项目工程名,右键 build path -> configure build path 在ksoap2-android这个包前面打上

使用CXF开发简单的Web Service

使用CXF开发简单的Web Service 博文我们介绍了Web Service的基本概念,了解它的基本概念之后,我们这篇博文介绍一个开源的WebService框架-Apache CXF,并实现一个HelloWorld实例. 一.开始之前 SOA目前已经成为了人人皆知的热点,SOA是面向服务的架构,SOA的重点在于服务的重用,即Service1+Service2+Service3,所有的组件都是"即插即用"的.SOA是由IBM提倡的架构,希望以"组装电脑"的方式开发

ORACLE存储过程调用Web Service

1. 概述 最近在ESB项目中,客户在各个系统之间的服务调用大多都是在oracle存储过程中进行的,本文就oracle存储过程调用web service来进行说明.其他主流数据库,比如mysql和sql service,调用web service的方法这里就不做介绍了,本文主要用来介绍oracle存储过程调用Web Service的方法. 众所周知,在Web Service通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明

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

gSOAP 是什么? gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多.绝大多数的C++web服务工具包提供一组API函数类库来处理特定的SOAP数据结构,这样就使得用户必须改变程序结构来适应相关的类库.与之相反,gSOAP利用编译器技术提供了一组透明化的SOAP API,并将与开发无关的SOAP实现细节相关的内容对用户隐藏起来. 简单来说,  gSOAP 功能之一就是可以帮助我们使用C/C++调用web