我最初公开了一个jax-ws web服务,带有两个参数(比如FirstName,LastName)。有时候我们需要用3个参数(Say FirstName,LastName,FatherName)来更改web服务,怎么做我们添加新参数而不停止服务(或运行Web服务器的服务器)。是否可以在jax-ws web服务中动态添加参数?
我想在属性文件(或数据库)中有参数。如果我在该属性文件中添加新参数,那么Web服务需要更新。
是否可以在jax-ws web服务中动态添加参数?请帮忙。在此先感谢
我最初公开了一个jax-ws web服务,带有两个参数(比如FirstName,LastName)。有时候我们需要用3个参数(Say FirstName,LastName,FatherName)来更改web服务,怎么做我们添加新参数而不停止服务(或运行Web服务器的服务器)。是否可以在jax-ws web服务中动态添加参数?
我想在属性文件(或数据库)中有参数。如果我在该属性文件中添加新参数,那么Web服务需要更新。
是否可以在jax-ws web服务中动态添加参数?请帮忙。在此先感谢
不能动态地添加字段,但你可以使用一些方法来达到相同的结果。
使用类似接口参数的KeyValue对象列表,这样客户端将调用ws添加所需的键/值。
提供一个ws,其中输入是一个独立的xml,因此您将能够解组并且执行您所需的操作。
优点: 你有没有改变你的接口,如果添加了一个新字段,但只有后端。
缺点: 您必须检查关键语法以确保输入的可靠性。
我真的想说“你不能”......我想不出任何东西允许这(其他人可能)。
我会说的是“你不应该”。在突然更改Web服务的接口时,考虑客户端代码,WSDL更改和客户端代码将需要重新生成。
(只是为了澄清,加入在WS的新方法就可以了,改变一个麻烦得多存在的。)
一点点黑客,但我喜欢第一个建议。地图会更适合吗? –
是的,现在我们接收的值为JSON字符串,Map也更加可用 –
@LiamDempsey Webservice应该可以互操作,HashMap不是。您可以使用一个适配器告诉JAXB运行时如何将映射转换为xml结构,我认为这将与第一种方法相同。 –