日期:2014-05-17  浏览次数:20622 次

使用JAVA的socket来调用WebService, 求大神给解脱!网上一直没搜到
前段时间开发了个WebService,一直是用WebServiceClinet来进行测试的,但是现在需要用Socket进行直接调用,下附WebService的基本信息, 摆脱大神能够给解决下,感激不尽!

IP:127.0.0.1
Port:7001
这是全地址http://127.0.0.1:7001/api/services/ApiService?wsdl
ApiService是工程的一个总控,通过请求的XML的code节点来到对应的xml配置中查询调用的ACTION,再进行业务处理,返回同样是个XML报文。
api是我的工程名

现在需要大神提供一个使用Socket去发送XML报文,并得到返回XML报文的程序,
网上找了很久了,一直没有能够可以调用成功的实例,现在发帖,等待大神!

------解决方案--------------------
调用ws不一定要用socket,有封装的api可以用,看看这个
http://blog.csdn.net/fzjiangmin/article/details/5637649
------解决方案--------------------
你的意思使用底层的socket类?为什么不能继续使用你的ws client
因为如果你要用底层的socket需要在写和读得时候首先要手动分析http header,然后手动构造解析你的soap

再说了高层的东西都是用底层的东西实现的,既然已经有了实现好的客户端为什么要重新再去写
------解决方案--------------------
引用:
对,是使用SOCKET类,  我截取了请求包的header , 加入到了我发送的请求中, 但是请求不到服务。
客户那边去说服很麻烦,想看看各位有没有办法解决一下-。-

截取用ws client正常发送的请求包,研究一下,对比着构造
------解决方案--------------------
用HttpURLConnection模拟请求参数
需要HttpAnalyzer抓取正常的请求是发送和设置什么数据的。
有这些数据你不用HttpURLConnection用socket模拟也是可以的,复杂度增加。