日期:2014-05-19  浏览次数:20649 次

webservice调用问题。如下:
使用HttpURLConnection发送soap协议格式的xml调用webservice:
调用如下:
URL addressURL = new URL( "webservice地址"); 
  HttpURLConnection conn = (HttpURLConnection) addressURL .openConnection();  
 conn.setDoOutput(true);
  conn.setDoInput(true);  
conn.setReadTimeout(6000);  
 conn.setRequestMethod("POST"); 
  conn.setRequestProperty("Content-Length", Integer.toString(message.length()));  
conn.setRequestProperty("Content-type", "text/xml; charset=" + CHARSET); 
  conn.setRequestProperty("SOAPAction", "命名空间" + "操作名称");  
OutputStream reqOs = new BufferedOutputStream( conn.getOutputStream());  
reqOs.write(message.getBytes(CHARSET)); 
  reqOs.flush();  
InputStream resIs = new BufferedInputStream(conn.getInputStream());  
 
 
 Web Service服务器  
 它主要做下面这些事:
 -->监听网络端口(监听服务端口)
 --> 接收客户端请求(接收SOAP请求) 
--> 解析客户端请求(解析SOAP消息,将SOAP消息转换为数据对象)
--> 调用业务逻辑 (调用Web Service实现类的特定操作,参数是由SOAP消息 转换而来的数据对象)
--> 生成响应 (将返回值转换为SOAP消息)
--> 返回响应 (返回SOAP响应) 
上面的服务器的每一步具体是怎么实现的,服务器上是在什么地方实现的?最好能给个服务器和客户端的例子

------解决方案--------------------
你可以去看看关于Web Service的框架
CXF ,AXIS2 这些
------解决方案--------------------
现在一般不这样写了。。。这种方式也比较落后。。
 CXF 的话,很快很方便,代码少。。建议去学CXF 集成 spring
 
------解决方案--------------------
LZ在网上找下例子看下
------解决方案--------------------
其实本质上还是一个web请求的过程,只不过请求和返回的数据是xml格式(也就是soap报文)罢了