未分配SOAP响应类(无)

时间:2018-10-24 18:52:33

标签: delphi soap soap-client

我正在使用Delphi 10.2.3来使用SOAP Web服务。我的问题是Web服务答复未分配给使用WSDLImp.exe生成的wsdl中定义的响应类。

我看到原始响应XML包含其中的所有信息,如下所示:

HTTP/1.1 200
X-HP-CAM-COLOR: V=1;ServerAddr=5F+cgNOCZPdfvCQ4naSfjw==;GUID=1|xpjJ6o0v_kd3rKz0c1ASIUXW--xZpHqeH8lJ3S2l30SxOi2DzpzfGfLpdqdxt0lg|L2VhcnNpdi93cy9FYXJzaXZXZWJTZXJ2aWNl
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Wed, 24 Oct 2018 15:54:46 GMT
Server: EARSIV
Strict-Transport-Security: max-age=157680000
Set-Cookie: cookiesession1=1BEDB4A4PX73WJCTCIRPOUP46FNNFC28;Path=/;HttpOnly

1da
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:faturaOlusturResponse xmlns:ns2="http://service.earsiv.uut.cs.com.tr/"><return xmlns=""><resultCode>AE00067</resultCode><resultExtra></resultExtra><resultText>Web servis çağrısı "input" alanından gerekli bilgiler elde edilemedi. Eksik alanlar: null bu alan(lar)ın boş olmadığından emin olunuz!</resultText></return></ns2:faturaOlusturResponse></S:Body></S:Envelope>
0
我在调试时看到的return中的

faturaOlusturResponsenil。尝试访问return.resultCode会导致访问冲突。

您所看到的是正确的,即在行XML开头之前和之后都有垃圾字符。我怀疑这可能是原因。

但是;

1-我发现Fiddler解析并显示带有所有正确信息的格式化XML视图没有问题。

2-我尝试使用OnAfterExecute()的{​​{1}}事件。我看到THTTPRIO是474,等于上面的原始响应中的XML行长。

我想不出什么问题,也无法解决。互联网搜索没有帮助。

感谢您的帮助。

谢谢。

WSDL URL:https://earsiv.efinans.com.tr/earsiv/ws/EarsivWebService?wsdl

编辑: 使用下面的SOAPResponse.Size函数可以使用网络服务方法。有AFaturaOlustur()程序需要另一个单位代码。我没有将它们全部都包括在内,因此在此处并未发布很多代码。 Json例程来自mORMot框架。在代码的某些部分中也使用了一些常量。运行功能后,当我读取用SetSecurityHeader()过程编写的文件response.xml时,将显示完整的xml。它与上面原始响应中的相同:

HTTPRIO1AfterExecute()

0 个答案:

没有答案