全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2662
推到 Plurk!
推到 Facebook!

WebService傳值問題

尚未結案
JimmyInTTI
一般會員


發表:4
回覆:4
積分:1
註冊:2002-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-29 14:33:27 IP:61.219.xxx.xxx 未訂閱
小弟第一次使用Delphi 6呼叫現有的Web Services, 利用 Web Services Importer之後,Delphi 6 自動產生以下2個Unit(簡述): //--------------------------------------------------------------- Unit Services; interface uses InvokeRegistry, Types, XSBuiltIns; type GetDelData = class; { GetDelData } GetDelData = class(TRemotable) private Ftdate: WideString; published property tdate: WideString read Ftdate write Ftdate; end; { GetDelDataResponse } GetDelDataResponse = class(TRemotable) private FGetDelDataResult: GetDelDataResult; published property GetDelDataResult: GetDelDataResult read FGetDelDataResult write FGetDelDataResult; end; { GetDelDataResult } GetDelDataResult = class(TRemotable) private Fschema: WideString; published property schema: WideString read Fschema write Fschema; end; implementation initialization RemClassRegistry.RegisterXSInfo(TypeInfo(GetDelData),'http://tempuri.org/MyLibrary/Service1','GetDelData',''); RemClassRegistry.RegisterXSInfo(TypeInfo(GetDelDataResponse),'http://tempuri.org/MyLibrary/Service1','GetDelDataResponse',''); RemClassRegistry.RegisterXSClass(GetDelData,'http://tempuri.org/MyLibrary/Service1','GetDelData',''); RemClassRegistry.RegisterXSClass(GetDelDataResponse,'http://tempuri.org/MyLibrary/Service1','GetDelDataResponse',''); RemClassRegistry.RegisterXSClass(GetDelDataResult,'http://tempuri.org/MyLibrary/Service1','GetDelDataResult',''); end. //---------------------------------------------------------- Unit ServiceSoap; interface uses Types, XSBuiltIns, Services; type Service1Soap = interface(IInvokable) ['{91EECC72-9BCD-491B-A5A7-10814271F817}'] procedure GetDelData(var parameters: GetDelData); stdcall; end; implementation uses InvokeRegistry; initialization InvRegistry.RegisterInterface(TypeInfo(Service1Soap), '', 'utf-8'); end. //------------------------------------------------------------ 利用HTTPRIO component 來呼叫, 但卻在傳遞參數時發生了問題.... "procedure GetDelData(var parameters: GetDelData)" 如此宣告的procedure該如何傳值,又該如何取得回傳值? 希望知道或有經驗的大大能提供寶貴的意見,謝謝!!
JimmyInTTI
一般會員


發表:4
回覆:4
積分:1
註冊:2002-09-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-29 17:01:45 IP:61.219.xxx.xxx 未訂閱
補充一下它的WSDL內容(簡述): 〈s:element name="GetDelData"〉 〈s:complexType〉 〈s:sequence〉 〈s:element minOccurs="0" maxOccurs="1" name="tdate" 〉〈type="s:string" /〉 〈/s:sequence〉 〈/s:complexType〉 〈/s:element〉 .... 〈s:element name="GetDelDataResponse"〉 〈s:complexType〉 〈s:sequence〉 〈s:element minOccurs="0" maxOccurs="1" name="GetDelDataResult"〉 〈s:complexType〉 〈s:sequence〉 〈s:element ref="s:schema" / 〉 〈s:any /〉 〈/s:sequence〉 〈/s:complexType〉 〈/s:element〉 〈/s:sequence〉 〈/s:complexType〉 〈/s:element〉 ..... 〈wsdl:message name="GetDelDataSoapIn"〉 〈wsdl:part name="parameters" element="tns:GetDelData" /〉 〈/wsdl:message〉 〈wsdl:message name="GetDelDataSoapOut"〉 〈wsdl:part name="parameters" element="tns:GetDelDataResponse" /〉 〈/wsdl:message〉 〈wsdl:portType name="Service1Soap"〉 〈wsdl:operation name="GetDelData"〉 〈wsdl:input message="tns:GetDelDataSoapIn" /〉 〈wsdl:output message="tns:GetDelDataSoapOut" /〉 〈/wsdl:operation〉 〈/wsdl:portType〉 〈wsdl:binding name="Service1Soap" type="tns:Service1Soap"〉 〈soap:binding transport="http://....../soap/http"〉 〈style="document" /〉 〈wsdl:operation name="GetDelData"〉 〈soap:operation soapAction="http://....../GetDelData"〉 〈style="document" /〉 〈wsdl:input〉 〈soap:body use="literal" /〉 〈/wsdl:input〉 〈wsdl:output〉 〈soap:body use="literal" /〉 〈/wsdl:output〉 〈/wsdl:operation〉 〈/wsdl:binding〉 〈wsdl:service name="Service1"〉 〈documentation xmlns="http://......" /〉 〈wsdl:port name="Service1Soap" binding="tns:Service1Soap"〉 〈soap:address location="http://......" /〉 〈/wsdl:port〉 〈/wsdl:service〉
JimmyInTTI
一般會員


發表:4
回覆:4
積分:1
註冊:2002-09-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-30 11:22:57 IP:61.219.xxx.xxx 未訂閱
看來是Delphi 6最初的Bug... 執行Delphi 6 Patch 2 之後就不會有這個問題了 (雖然還是有別的問題,但文不對題,還是將此問題終結) 謝謝!!
cheneyem
一般會員


發表:0
回覆:5
積分:1
註冊:2006-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-07-15 19:25:15 IP:222.67.xxx.xxx 未訂閱
用D7比較好一點。
------
---
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-26 13:50:21 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-11-23 5:11:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!