如何修改JAXWS

时间:2016-03-29 06:51:38

标签: java web-services jax-ws

我有一个奇怪的问题:我有一个中央Web服务客户端,可以在数千个嵌入式Web服务服务器上调用Web方法。我们最近发现Web服务器有一个错误,如果XML请求的长度恰好为0x4000,则会导致服务器崩溃。这种情况不会经常发生,但每天都会发生数以千计的设备,使整个解决方案不稳定。

中期解决方案是修复服务器上的错误,但有数千个固件闪存,这个解决方案在几天内就不容易部署。

短期解决方案是修改XML请求(如果长度正好为0x4000)并使用空格字符或类似内容填充它。

因此,XML是由JAX-WS生成的(所有类都是从Web服务器制造商的WSDL生成的),我只是使用注释为{{1}的方法调用带有@WebService注释的接口。 }。

仅供参考:这是JAX-WS版本。

@WebMethod, @WebResult, ...

我的问题是如何修改此调用生成的XML以检查其长度并在需要时进行修改?

1 个答案:

答案 0 :(得分:1)

您可以使用客户端SOAP消息处理程序来解决您的问题。 请查看以下链接:https://docs.oracle.com/cd/E21764_01/web.1111/e13734/handlers.htm