我正在尝试用java 8和jax-ws创建一个@WebService。但是,我似乎无法找到将xmls“http://com.test.mymethod/mymethod”从信封移到方法上的组合。相反,我尝试的每个方法都将它添加到Envbelope,然后在MyWeb方法之前添加ser:前缀。 (如果我创建并发送wsdl会很好,但我必须匹配已在其他地方使用的请求格式)
所需的请求格式:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<MyWebmethod xmlns="http://com.test.mymethod/mymethod">
答案 0 :(得分:0)
我认为唯一可行的方法(除了询问:“为什么不需要语义相同的反应?” - 但我害怕答案:-))将“后处理”响应
显而易见的解决方案是为Service-Endpoint定义SOAPHandler
。这应该是一个直截了当的过程:
@Webservice
注释对@HandlerChain
进行注释。话虽如此 - 我并非百分之百肯定您将能够充分影响处理程序链的输出。在应用程序服务器序列化DOM之后,生成的文本表示很可能仍然不能令人满意。
第二个选项是定义ServletFilter
并让它重写webservice端点的文本输出。这肯定会让您完全控制输出形式 - 但是重新生成DOM以提供给您XSL模板的(重大)成本。
总而言之:为什么你会经历所有痛苦?我非常好奇。