java怎么用soap的方式访问一个接口?

java怎么用soap的方式访问一个接口?,第1张

我之前写的一个实验是soap机制的,你看可以么,以下是实验内容

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 和 使用用户名 密码连接 验证都写了。 找对方确认下用那种方式然后自己试一下。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11605920.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存