|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
sxbug (太阳雨) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2017/7/2 23:34:36 |
标题: |
delphi处理soap的最合理的办法是什么? |
浏览:1942 |
|
加入我的收藏 |
楼主: |
没有处理过soap的问题,想依赖Delphi的控件简化soap的处理,请高人指点。 目前我遇到的应用是:采用idHttp发送一个请求字符串,IdHTTP1.URL.URLEncode (请求字符);其中请求字符为 soap_method=GetPatInfo&Input=<Request><TradeCode>.....可能会包含汉字。
接收到的返回字符串,是<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <GetPatInfoResponse xmlns="http://tempuri.org"> <GetPatInfoResult> <![CDATA[ <Response><ResultCode>0</ResultCode><ResultContent></ResultContent><PatientID>00067</PatientID><PatientName>张三</PatientName><Sex>女</Sex><SexCode>2</SexCode><DOB>1987-04-15</DOB><TelephoneNo></TelephoneNo><Mobile>1501870003</Mobile>.。。。。。。这样的返回串,如何能快速处理,形成 姓名 张三 性别 女 等,数据库也存储的信息。如何处理会比较方便?
谢谢!请高人指点
----------------------------------------------
- |
作者: |
sxbug (太阳雨) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2017/7/2 23:36:56 |
1楼: |
接收的字符,我采用这些办法接收:idHttp1.Get(返回值, stream); UTF8Decode(stream.DataString);通过处理后,有时有些汉字成了乱码(不是所有汉字)。有办法处理吗?
----------------------------------------------
-
|
作者: |
|
2017/7/3 9:31:15 |
2楼: |
thttprio
----------------------------------------------
-
|
作者: |
|
2017/7/3 9:34:58 |
3楼: |
导入 wsdl ,不就可以调用了吗?
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2017/7/3 10:44:54 |
4楼: |
你要确定是utf8编码才能用utf8解码。 另外,还要确定有没有经过百分号编码,一般utf8都会和百分号编码一起用的。
再有就是,你也可以尝试使用mutibytetowidechar这个api函数来转
----------------------------------------------
--
|
作者: |
|
2017/7/3 12:12:05 |
5楼: |
idHttp1 返回xml得自己处理
----------------------------------------------
-
|
作者: |
star5 (星五) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2017/7/5 8:30:23 |
6楼: |
完全可以使用http post来操作soap接口,delphi导入wsdl比较麻烦,而且会出错,建议自行拼接xml去post接口,效果是一样的,而且灵活方便。
----------------------------------------------
博客 - http://offeu.com 脚本模型 - http://webpascal.com 需要短信接口的请联系我,可发行业与营销内容。
|
作者: |
|
2017/7/7 12:09:21 |
7楼: |
SOAP 通常是 Web Service 里面用的吧?如果服务器端是 Web Service,你直接用 Delphi 的 WebService 框架去调用它就行了,自己不用费心去解析它。
----------------------------------------------
-
|
|