在过去 26 小时左右,调用 ServiceBusConstract.getQueue(path) (其中 path 是一个不存在的队列)会引发 ServiceException,其最终原因是绑定问题。
引起:javax.xml.bind.UnmarshalException:意外元素(uri:“ http://www.w3.org/2005/Atom ”,本地:“feed”)。预期的元素是 <{ http://schemas.microsoft.com/netservices/2010/10/servicebus/connect }QueueDescription>,<{ http://schemas.microsoft.com/netservices/2010/10/servicebus/connect } SubscriptionDescription>,<{ http://schemas.microsoft.com/netservices/2010/10/servicebus/connect }TopicDescription>,<{ http://www.w3.org/2005/Atom }entry> at com.sun .xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:647)
当同时使用 0.4.0 和 0.4.1 版本的 SDK 时,情况确实如此。
以前,此调用返回一个 GetQueueResult,其 .getValue() 方法返回 null。发现这一点,因为我的测试现在失败了。
生产服务是否已更新为不再与此调用兼容?ServiceBusContract.getQueue(nonExistentPath) 的预期行为是什么?