(jax-ws-ri)获取soap主体请求,将其注入回请求头中

t8e9dugd  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(246)

我使用wsimport和jax-ws-ri生成了类。使用@requestwrapper和@responsewrapper,我无法访问实际的soap内容。我的目标是向soap头添加数字签名。
如何检索请求soap消息、提取soap正文并将内容插入soap头中?
这就是我目前所拥有的。

  1. ServiceUser serviceUser = new ServiceUser(new URL(wsdlUrl));
  2. ServiceUserSoap service = serviceUser.getServiceUserSoap();
  3. int soapTimeOut = 5;
  4. ((BindingProvider) service).getRequestContext().put(Constants.RESPONSE_TIMEOUT_PROPERTY,
  5. Integer.toString((soapTimeOut))); // Timeout in seconds
  6. ((BindingProvider) service).getRequestContext().put(Constants.CONNECTION_TIMEOUT_PROPERTY,
  7. Integer.toString((soapTimeOut))); // Timeout in seconds
  8. retRec = service.getRecords(active, user);
  1. @WebMethod(action = "http://www.server.com/userlist/getRecords")
  2. @WebResult(name = "getRecordsResult", targetNamespace = "")
  3. @RequestWrapper(localName = "getRecords", targetNamespace = "http://www.server.com/userlist", className = "com.wsclient.api.GetRecords")
  4. @ResponseWrapper(localName = "getRecordsResponse", targetNamespace = "http://www.server.com/userlist", className = "com.wsclient.api.GetRecordsResponse")
  5. public List<com.userlist.api.GetRecordsResponse.GetRecordsResult> getRecords(
  6. @WebParam(name = "u_active", targetNamespace = "")
  7. Boolean active,
  8. @WebParam(name = "u_user", targetNamespace = "")
  9. String user);
  10. }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题