我有一个不期望传递元素Id的JAXB Web服务,以及无论如何都传递该元素的客户端。
当前正在生产的Web服务版本默默地忽略了该意外元素,但QA中的版本抱怨。跟踪入站请求的XML,我确认Id元素已发送到服务的生产和QA版本。
质量保证中的错误消息是:
org.apache.cxf.interceptor.Fault: 解组错误:意外 元件 (URI: “http://mydomain.com/transaction”, 本地: “ID”)。预期的要素是......
该消息非常清楚,但解决方案并非客户端广泛部署。
作为第一步,我想尝试理解为什么生产版本接受这个额外元素而QA版本没有。两个版本之间没有太多差异。
建议去哪看?
答案 0 :(得分:0)
我不知道我是否对你提出了正确的问题,但我明白你使用jaxb Marshaller创建xml并将其发送给服务。在prod你的服务接受你传递的元素..我假设你有restfull webservice解组xml并通过代码验证。我建议而不是检查入站xml请求检查QA和PROD中部署的代码..因为在解组xml的解组过程中会抛出异常..希望这有助于:)。