我想創建一個小工具,將監視多少帶寬我已經使用了多少我從我的ISP剩餘。他們有一個SOAP服務,我必須對我的用戶名和密碼進行身份驗證並驗證客戶端,然後我將得到2個必須傳遞給函數的GUID,該函數將從數組中返回使用統計信息。然後這些緩存1小時,我必須再次驗證。如何驗證此HTTPS SOAP服務?
我從內德爾福2010年使用WSDL進口商和它產生了我一個單位。 (我不確定我應該發佈這個,因爲它相當大)?
我想用我的用戶名和密碼與下面的代碼的第一部分驗證:
procedure TForm1.btnAuthClick(Sender: TObject);
var
fGUID: string;
begin
HTTPRIO1.URL := 'https://webservices.zen.co.uk/broadband/v3.11/serviceengine.asmx?WSDL';
try
fGUID := (HTTPRIO1 as ServiceEngineSoap).Authenticate(edtUserName.Text,edtPassword.Text);
Label1.Caption := fGUID;
except
on E: Exception do
Memo1.Lines.Text := E.Message;
end;
end;
上面的代碼總是返回下面的錯誤:
頁眉http://schemas.xmlsoap.org/ws/2004/08/addressing:Action的最終接收者是在消息中需要但不存在。
procedure TForm1.btnAuthClick(Sender: TObject); var fGUID: string; begin HTTPRIO1.WSDLLocation := 'https://webservices.zen.co.uk/broadband/v3.11/serviceengine.asmx?WSDL'; HTTPRIO1.Service := 'ServiceEngine'; HTTPRIO1.Port := 'ServiceEngineSoap'; try fGUID := (HTTPRIO1 as ServiceEngineSoap).Authenticate(edtUserName.Text,edtPassword.Text); Label1.Caption := fGUID; except on E: Exception do Memo1.Lines.Text := E.Message; end; end;
這總是會生成以下錯誤:
無法檢索服務的URL端點
我已經使用WSDLLocation而是與服務和端口嘗試/端口 'ServiceEngine' 從WSDL/'ServiceEngineSoap' 'https://webservices.zen.co.uk/broadband/v3.11/serviceengine.asmx?WSDL'
我在做什麼錯在這裏?如果我真的應該發送一個標題,那麼我將如何做到這一點,以驗證自己的服務?
請張貼由WSDL進口商產生的單位,我認爲它會有所幫助。 – Sam
我剛剛嘗試編輯我的問題以包含單元,但它太長了:主體被限制爲30000個字符;你輸入了53992 – Shambhala