我们有这样的系统架构:
WebApplication - > MediatorService --->服务提供商 - >设备
WebApplication - >处理输入并插入数据库。
MediatorService - >是一个WebService应用程序,它运行在运行WebApplication的同一台服务器上,或者运行在不同的服务器上
服务提供商 - > SMS Service Provider,用于路由从Mediator Service Application发送的消息。
设备 - >它接收来自服务提供商的消息以及与该消息相关的行为。
技术使用:
Java / J2EE,Apache Tomcat Server,Struts2.0框架
问题:
如何从MediatorService应用服务提供商
发送消息我使用了response.SendRedirect(“服务提供商网址”),但很奇怪它不是 工作,即使它工作不正确的解决方案,因为在外面的情况下URL不应该改变。
即。向服务提供商发送SMS消息应该是后端处理
如果我使用response.SendRedirect(“服务提供商URL”),我就无法通过服务提供商返回响应。
应该使用Requestdispatcher.Forward(请求,响应)或任何东西。
答案 0 :(得分:0)
如果我错了,请纠正我......听起来您的Web应用程序正在向您的调解员发出Web服务调用,然后调解员必须以某种方式将请求转发给服务提供商。通常,Web服务调用是带有XML主体的HTTP POST,因此我认为使用Web应用程序执行SendRedirect / Forward将无法将请求转发给服务提供商。
您的服务提供商是否公开了Web服务接口?如果是这样,您的调解员可能应该只是向提供者进行另一个Web服务调用,然后提供者可以使用正常的HTTP响应响应调解器,然后可以响应Web应用程序。