我已经使用了带有Delphi XE2的WSDL导入程序,它生成了一个如下所示的例程,不包括我试图使用代理服务器的3条注释行.
function GetIXYZService(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): IXYZService;
const
defWSDL = 'https://server/XYZService.svc?wsdl';
defURL = 'https://server/XYZService.svc';
defSvc = 'Company.XYZ.Services.XYZService';
defPrt = 'BasicHttpBinding_IXYZService';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
// RIO.HTTPWebNode.Proxy := 'server_ip:port';
// RIO.HTTPWebNode.Username := 'username';
// RIO.HTTPWebNode.Password := 'password';
Result := (RIO as ISSOService);
if UseWSDL then …Run Code Online (Sandbox Code Playgroud) 这是我的bat文件.
call "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin\rsvars.bat"
msbuild.exe C:\Work\Project1.dproj /t:Rebuild /p:Config=Debug;Platform=Win32
Run Code Online (Sandbox Code Playgroud)
这似乎运作良好; 然而,它需要12分钟才能建成.在IDE中进行完整构建时,相同的配置/平台组合需要2分30秒.我找不到减速的原因是不成功的.我应该关注的任何想法或设置?
编辑:我使用的是IDEFixPack 5.3,构建时间约为2.5分钟.删除IDEFixPack也会在IDE中构建12分钟.
我的主题可能是措辞严厉,但这就是我所拥有的.
我有一个Web服务,它在本地时间报告时间戳,如果服务器在受影响的区域,则时间戳反映日光时间.Web服务还有第二次调用以UTC格式检索服务器时间,因此太平洋夏令时(PDT)中的服务器将其UTC偏移量报告为-08:00,即使它因PDT而实际上是-07:00.
这是我调用返回服务器时区信息的结果.
太平洋标准时间; -480;(UTC-08:00)太平洋时间(美国和加拿大);太平洋标准时间;太平洋夏令时; [01:01:0001; 12:31:2006; 60; [0; 02: 00:00; 4; 1; 0;]; [0; 02:00:00; 10; 5; 0;];] [01:01:2007; 12:31:9999; 60; [0; 02: 00:00; 3; 2; 0;]; [0; 02:00:00; 11; 1; 0;];];
因此,如果从Web服务返回的时间戳是3/12/2013 12:00 am且UTC偏移是-08:00并且我住在亚利桑那州的白天时间免除区域,我的UTC偏移是-07:00怎么能我从返回的时间戳转换为当地时间?
这里的杀手是使用本地时间戳的Web服务.如果他们只是坚持一种通用格式,我的生活就会轻松.我目前的想法是,如果我可以在TTimeZone或等效结构中获取服务器的信息,那么我可以使用TTimeZone.IsDaylightTime(时间戳)函数来知道我是否需要在使用-08:00服务器之前从时间戳中减去一个小时offset和-07:00本地偏移量来获取正确的本地时间.
使用Delphi 2009和IXMLDOMDocument2
在将XML加载到IXMLDOMDocument2时,我收到"在文本内容中找到无效字符"错误.字符为1B(十六进制)并存在于CDATA部分中.Microsoft的XML查看器(IE)加载文件就好了.XML看起来像......
<data><child><![CDATA[-- ]]></child></data>
注意:我尝试粘贴XML,但删除了特殊字符.在CDATA部分,我的XML文件中有" - "后面的1B字符.
我已经尝试添加到XML和其他编码的开头,没有什么对我有用.有没有什么可以加载这个文件?
谢谢,迈克尔