我有一个使用Springource工具包(即@Service属性)用Java编写的客户端,该工具包通过HTTPS与外部Web服务(完全独立,与我的公司无关)进行通信。我在marshalSendAndReceive步骤中遇到异常,该步骤声明内容类型以text / html而不是预期的text / xml返回 - 并显示消息“这可能是错误消息吗?”
Web服务本身是对下一版本服务的公共测试,并且从相同代码调用实时服务可以正常工作。我调用的这种特殊方法在实时系统上运行良好,但在测试系统上运行不正常。
我的预感是请求没有针对测试系统正确格式化 - 尽管根据发行说明只有响应应该在架构中更改 - 这导致服务返回错误,我的错误解析错误客户。我收到所有请求的错误,即使那些(根据发行说明)没有改变。
我曾尝试使用Fiddler和Wireshark来检查流量,但是根本无法让Fiddler看到它(我怀疑在使用代理的STS中使用Tomcat是一个问题)并且Wireshark无法解码HTTPS东西(我没有钥匙)。我无法使用HTTP,因为如果我尝试,外部服务会返回403 Forbidden。
我不是原始开发人员,我甚至不是Java开发人员。我是一名经验丰富的.NET开发人员,因此任何类比都将被理解 - 否则,我是一个虚拟和短语您的指示/问题/可能相应的帮助。根据我的前任的指示,我使用XmlBeans从WSDL创建了一个JAR文件,并将其作为引用库添加,但我无法确定我是否已正确完成,甚至是正在执行的操作。它似乎对事物没有明显的影响。
如何调试此问题,并验证我的客户端或其服务是否有问题?
答案 0 :(得分:0)
我的第一个目标是让Fiddler工作。在黑暗中很难调试。但是,当我讨论在STS中运行Tomcat的客户端时,我感到困惑的地方。您的客户是webapp吗?
您是否尝试过其他工具(例如SoapUI)来验证服务是否按预期响应您的请求?