WebService傳值問題 |
尚未結案
|
JimmyInTTI
一般會員 發表:4 回覆:4 積分:1 註冊:2002-09-04 發送簡訊給我 |
小弟第一次使用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 發送簡訊給我 |
補充一下它的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 發送簡訊給我 |
|
cheneyem
一般會員 發表:0 回覆:5 積分:1 註冊:2006-07-15 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |