SOAP Web服务可以独立于平台和语言。并且可以接受来自客户端的参数,并可以将响应发送回客户端。例如 - 我可以将城市作为字符串参数传递回来并获取天气信息作为回复。
但是,如果我必须传递一个java对象 - 比如说 person 对象并获得他的信用评分。
(说人物对象有名称,年龄,ssn,地址等属性)
(并且地址本身可以是另一个具有诸如街道,城市,拉链等属性的java对象)
SOAP服务是否可以立即接受对象,或者在提取所有原始信息后需要传递person对象,并且此信息只需要作为字符串或ints传递给服务 - 如(name,age,ssn,街道,城市,拉链)
答案 0 :(得分:2)
SOAP服务可以立即接受对象还是person对象 需要在提取所有原始信息后传递 此信息需要以字符串或整数形式传递给服务 只是?
您需要了解以下几点:
(1)SOAP是一种具有一些预定义规范/格式(带有标题,正文等元素)的协议,用于跨两个不同应用程序(使用相同或不同的编程语言开发)进行数据交换。
(2)当您使用SOAP服务时,您就是SOAP客户端。
(3)当您为其他用户公开/提供SOAP服务时,您就是SOAP服务提供者。
(4) SOAP服务不直接使用java对象。相反,它们将被转换为xml(称为编组),然后发送/接收。
(5)因此,当您调用SOAP服务提供者时,您的person
java对象将被编组为xml格式并发送给SOAP服务提供者。
(6)SOAP服务提供者将根据他们的平台接收xml并转换为他们的表示(称为解组),即它可以是Java或.net或任何其他。
(7)处理完请求后,SOAP服务提供者将准备响应(Object / something转换为xml)并将其发送给调用者。
(8)为了轻松编组和解组(即Java到XML之间的转换,反之亦然),Java中有几种工具,如JAXB,XMLBeans等。< / p>
P.S。:我刚刚提到了消息格式为xml(这是常见的)供您理解,但它可以是应用程序可以同意的任何其他格式。
您可以查看here了解详情。