小编Tom*_*kas的帖子

CXF使用内容过滤或屏蔽soap字段记录请求和响应

我想通过内容过滤记录来自某个特定端点的所有传入请求和响应.即,当我有这样的要求时:

<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope">
<soap:Body>
  <m:ProcessPhoto xmlns:m="http://www.w3schools.com/photos">
    <m:Name>Apples</m:Name>
    <m:Description>Photo with some apples in it</m:Description>
    <!-- large encoded binary below -->
    <m:Photo>anVzdCBhIHJhbmRvbSB0ZXh0DQpqdXN0IGEgcmFuZG9tIHRleHQNCmp1c3QgYSByYW5kb20gdGV4dA0KanVzdCBhIHJhbmRvbSB0ZXh0DQpqdXN0IGEgcmFuZG9tIHRleHQNCmp1c3QgYSByYW5kb20gdGV4dA0KanVzdCBhIHJhbmRvbSB0ZXh0DQp3b3csIGkgZGlkbid0IHRob3VnaHQgdGhhdCBhbnlvbmUgd291bGQgYmUgaW50ZXJlc3RlZCBpbiBkZWNvZGluZyB0aGlzLiBjb25ncmF0cyE=</m:Photo>
  </m:ProcessPhoto>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

我想过滤它,以便它看起来像这样的日志

<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope">
<soap:Body>
  <m:ProcessPhoto xmlns:m="http://www.w3schools.com/photos">
    <m:Name>Apples</m:Name>
    <m:Description>Photo with some apples in it</m:Description>
    <m:Photo>hidden</m:Photo>
  </m:ProcessPhoto>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

或完全删除m:照片元素.

我发现CXF有一些LoggingInInterceptor和LoggingOutInterceptor,我可以编写自己的拦截器来做到这一点.然而,这将是一项工作要做,所以我的问题是:你知道更好,开箱即用的解决方案吗?

java logging soap filtering cxf

10
推荐指数
1
解决办法
5482
查看次数

Helm 图表之间的依赖关系是否应该反映微服务之间的依赖关系?

给定以下服务方案及其依赖项,我想设计一组 Helm 图表。

  • API Gateway来电Service AService C
  • Service A来电Service B
  • Service B来电Database
  • Service C来电Service BService D

目前我看到两种选择:

  1. 下图中的 6 个组件中的每一个都是一个图表,图中的每个箭头都是一个依赖项。

  2. 有一个Umbrella图表依赖于所有其他图表。图表Database是图表的依赖项Service B

Helm 文档建议使用选项 2。不过,由于本地开发和 CI/CD 管道的易用性,我更热衷于选项 1。

示例场景:开发人员正在重构Service C,他想要运行他更改的代码并对其进行测试。

  • 选项 1。开发人员仅安装Service C图表。
  • 选项 2:开发人员必须:
    • 安装一个Umbrella图表,由于运行不需要的服务(例如Service A或)而导致 CPU 和内存资源的浪费API Gateway,这不能很好地适应系统的复杂性;
    • 安装Service C,然后Service B再然后Service D,这也不能很好地适应系统的复杂性,因为它需要执行许多手动操作,并且还要求开发人员熟悉系统的架构,以便知道需要什么图表安装。

我想就采取哪种替代方案做出明智的决定。我更热衷于选项 …

kubernetes kubernetes-helm

8
推荐指数
1
解决办法
1929
查看次数

HATEOAS 和 API 驱动的表单

我正在尝试将 HATEOAS 应用于现有应用程序,但在对由 API 响应驱动的表单输入进行建模时遇到问题。

\n\n

该应用程序允许搜索和预订两个地方之间的连接。第一个端点允许搜索连接GET /connections?from={lat,lon}&to={lat,lon}&departure={dateTime}并返回以下有效负载(响应正文)。

\n\n
[\n  {\n    "id": "aaa",\n    "carrier": "Fast Bus",\n    "price": 3.20,\n    "departure": "2019-04-05T12:30"\n  },\n  {\n    "id": "bbb",\n    "carrier": "Airport Bus",\n    "price": 4.60,\n    "departure": "2019-04-05T13:30"\n  },\n  {\n    "id": "ccc",\n    "carrier": "Slow bus",\n    "price": 1.60,\n    "departure": "2019-04-05T11:30"\n  }\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

为了对其中一个连接下订单,客户端需要POST /orders使用以下有效负载之一(请求正文)发出请求:

\n\n

hateoas spring-hateoas json-ld collection-json json-api

5
推荐指数
1
解决办法
831
查看次数