[Teamcenter 2007 開發實戰] 調用web service

來源:互聯網
上載者:User

標籤:function   yam   xom   g3d   cga   dns   jdk   rtk   moc   

前言

在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 檔試試



[Teamcenter 2007 開發實戰] 調用web service

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.