線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1744
推到 Plurk!
推到 Facebook!

[D7]WS 取得資料不完整

答題得分者是:GrandRURU
suezou
一般會員


發表:2
回覆:10
積分:2
註冊:2002-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-06-10 18:13:09 IP:59.120.xxx.xxx 訂閱
試著由中油提供的 Webservice 取的加油站地址

http://vipmember.tmtd.cpc.com.tw/CPCSTN/STNWebService.asmx

用 D7 呼叫 GetSTNWebServiceSoap().getCityStation('','','').schema 取得的資料如下

"http://www.w3.org/2001/XMLSchema" name="NewDataSet"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">



















>>


一筆資料都沒有, 但是網站上號稱有2020筆資料, 用java 程式去接沒有問題.

請問這可能是怎麼回事?

WSDL: http://vipmember.tmtd.cpc.com.tw/CPCSTN/STNWebService.asmx?WSDL



------
我相信時間與歷史是有其意義的,
即使在現在不了解其意義,
也該永遠的順從吧,永遠的.....
GrandRURU
站務副站長


發表:235
回覆:1655
積分:1753
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-06-11 12:03:47 IP:59.120.xxx.xxx 訂閱
因為你只是進行「連結」,沒有把後續的資料帶回來

實作的Code如下,可在Delphi7和Delphi2009以上使用

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var
STN: STNWebServiceSoap;
begin
Screen.Cursor := crHourGlass;
Application.ProcessMessages;
try
STN := HTTPRIO1 as STNWebServiceSoap;
Memo1.Lines.Text := STN.getCityStation('','','').schema;
finally
STN := nil;
Screen.Cursor := crDefault;
end;
end;

procedure TForm1.HTTPRIO1AfterExecute(const MethodName: String;
SOAPResponse: TStream);
var
Temp: TStringStream;
begin
{$IFDEF UNCODE}
Temp := TStringStream.Create('',TEncoding.UTF8);
{$ELSE}
Temp := TStringStream.Create('');
{$ENDIF}
try
Temp.CopyFrom(SOAPResponse, 0);
{$IFDEF UNICODE}
Memo2.Text := Temp.DataString;
{$ELSE}
Memo2.Text := Utf8ToAnsi(Temp.DataString);
{$ENDIF}
finally
Temp.Free;
end;
end;
[/code]

Memo1會是你PO的資料沒錯
真正的資料會在Memo2呈現

題外話:TMemo處理大字串真的很慢啊……

參考來源:
Web Services 入門
Web Service Returns Structure with TXMLData property - Where is XML Text?

===================引 用 suezou 文 章===================
試著由中油提供的 Webservice 取的加油站地址

http://vipmember.tmtd.cpc.com.tw/CPCSTN/STNWebService.asmx

用 D7 呼叫 GetSTNWebServiceSoap().getCityStation('','','').schema 取得的資料如下

...43...

一筆資料都沒有, 但是網站上號稱有2020筆資料, 用java 程式去接沒有問題.

請問這可能是怎麼回事?

WSDL: http://vipmember.tmtd.cpc.com.tw/CPCSTN/STNWebService.asmx?WSDL



編輯記錄
GrandRURU 重新編輯於 2013-06-11 12:06:51, 註解 無‧
系統時間:2017-12-13 21:09:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!