免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6019 | 回复: 1
打印 上一主题 下一主题

关于socket组SOAP报文调用webservice的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-24 16:01 |只看该作者 |倒序浏览
本帖最后由 广西邮储银行 于 2011-10-24 16:06 编辑

有个基于http的webservice服务,服务提供了一个加法函数Add(a,b),返回的是a+b的和。
我用C#编写了客户端,调用该webservice成功,通过抓包软件得到如图中的报文,红字为客户端发包,蓝色为服务器返回。
现在我要用socket组报文发送到服务端调用该webservice,应该怎么组,我组的字符串为:
char *echoString ="OST /axis2/services/AddService.AddServiceHttpSoap11Endpoint/ HTTP/1.1\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.3623)\r\nContent-Type: text/xml; charset=utf-8\r\nSOAPAction: \"urn:TTAdd\"\r\nHost: 10.229.21.55:8080\r\nContent-Length: 303\r\nConnection: Close\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlnssi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlnssd=\"http://www.w3.org/2001/XMLSchema\"><soap:Body><TTAdd xmlns=\"http://ws\"><a>99999</a><b>55555</b></TTAdd></soap:Body></soap:Envelope>";
但是发送后没有抓到看到服务器端返回的包。

由于对http和soap、webservice理解不够,恳请高人指点我应该发送什么样的字符串.

add.png (46.15 KB, 下载次数: 18)

add.png

论坛徽章:
0
2 [报告]
发表于 2011-10-24 16:55 |只看该作者
自己解决了:
char *echoString ="OST /axis2/services/AddService.AddServiceHttpSoap11Endpoint/ HTTP/1.1\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.3623)\r\nContent-Type: text/xml; charset=utf-8\r\nSOAPAction: \"urn:TTAdd\"\r\nHost: 10.229.21.39:8080\r\nContent-Length: 303\r\nExpect: 100-continue\r\nConnection: Keep-Alive\r\n\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlnssi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlnssd=\"http://www.w3.org/2001/XMLSchema\"><soap:Body><TTAdd xmlns=\"http://ws\"><a>99999</a><b>55555</b></TTAdd></soap:Body></soap:Envelope>";
接收到返回报文为:
Received: HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Mon, 24 Oct 2011 08:54:26 GMT

f9
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:TTAddResponse xmlns:ns="http://ws"><ns:return>155554</ns:return></ns:TTAddResponse></soapenv:Body></soapenv:Envelope>
0
soap头部后面需要多加个回车换行
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP