Web service 其运作原理如下 (下图引用官方网站简介):
+--------------------------------------+
web service registry
(aka service broker)
(UDDI)
+--------------------------------------+
^ ^
(2) (1)
(the client (the web service
WSDL finds the WSDL provider publishes
service the web service)
they want)
v v
+-----------+ +-----------+
service <--soap-->service
requestor provider
+-----------+ (3) +-----------+
(1) 发布 Web Service.
(2) 寻找已发布的 Web Service.
(3) 通过 SOAP 互相沟通.
(1) 及 (2) 均为 optional.
WSDL -- Web Services description Language. WSDL 描述 web service 的功能.
UDDI -- Universal Description, Discovery and Integration. 发布 web service 的协定.
SOAP -- Simple Object Access Protocol. SOAP 通过 HTTP 传送 XML message.
试试下面两种思路
可以分批次请求,一次返回一部分。 一般来说10M以内都是可以接受
服务器端返回一个文件,客户端直接接受文件。(这里接受文件肯定要用流的形式,不能用byte数组)
如果你是用axis生成的代码的话 去用CUX_0_WS_SERVER_PRG_BindingStub.java 这个类调用服务。CUX_0_WS_SERVER_PRG_Service service=new CUX_0_WS_SERVER_PRG_ServiceLocator()
CUX_0_WS_SERVER_PRG_BindingStub stub=(CUX_0_WS_SERVER_PRG_BindingStub)service.CUX_0_WS_SERVER_PRGSOAP()
stub.setUsername("aaaa") //连接的用户名
stub.setPassword("aaaa")//连接的密码
stub.setHeader( dddd) //dddd是一个SOAPHeader 具体看对方wsdl要求
stub.invokefmsws(so.in)
不知道对方要求怎么验证 是在header中添加用户名和密码 还是在连接时需提供用户名密码。
所以把添加header 和 使用用户名 密码连接 验证都写了。 找对方确认下用那种方式然后自己试一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)