Hi, I'm using Synapse 1.2 to take an input message, do some mediation on it, then clone it so it can be sent to two different web services and then I'm aggregating the results with a custom aggregate mediator I have written (as the aggregation has business rules in it, so I can't use the default Synapse aggregator).
This works perfectly on Windows using Synapse 1.2 stand-alone. When using the same setup on a Solaris box, the cloned messages time out when trying to on-send the message to the end points. These web-services are running in a Tomcat on the same machine as axis 2 web services. Using localhost and the actual server domain names both fail. Moving these web services to a different machine on the network fail also, as does going via an external www URL to those services. Every single message times out. Initially I thought that this would be a DNS problem or something - however setting up a plain Synapse proxy in the same Synapse instance runs fine, and it makes contact to the axis 2 web services. I have debugged the Synapse 1.2 source and it goes all the way through and sends off the message fine - its just it never gets a response. Has anyone had issues on Solaris (this is an older version) or similar behaviour where messages timeout every time? My synapse.xml is as follows: <definitions xmlns="http://ws.apache.org/ns/synapse"> <!-- datahub.in.sequence takes a request, sends it to VIS and VBATS and aggregates the results. --> <sequence name="main" trace="enable"> <log level="full"/> <in> <sequence key="topicregister.getvehicleidentifier.sequence"/> </in> <out> <class name="nz.co.toyota.mediators.datahub.GetVehicleResponseAggregator"/> <send/> </out> </sequence> <!-- datahub.vis.sequence takes a request, sends it to the VIS datahub vehicle service, and returns the result, as-is. --> <sequence name="datahub.vis.getvehicle.sequence"> <in> <!-- Send all incoming traffic to the VIS datahub vehicle service --> <property name="source-system" value="vis"/> <send> <endpoint> <address uri="http://tnz017:8071/tnz/services/DataHubVehicleService-1.2"/> </endpoint> </send> </in> </sequence> <!-- datahub.vbats.getvehicle.sequence takes a request, sends it to the VBATS datahub vehicle service, and returns the result, as-is. --> <sequence name="datahub.vbats.getvehicle.sequence"> <in> <!-- Send all incoming traffic to the VBATS datahub vehicle service --> <property name="source-system" value="vbats"/> <send> <endpoint> <address uri="http://tnz017:8071/tnz/services/DataHubUsedVehicleService-1.0"/> </endpoint> </send> </in> </sequence> <!-- topicregister.getvehicleidentifier.sequence takes a vehicle request and looks up its vin in the topic-register. --> <sequence name="topicregister.getvehicleidentifier.sequence"> <in> <!-- parameters for the vehicle identifier lookup call to the topic register --> <property name="axis2-repository-path" value="C:/Java/Projects/data-hub/data-hub-vehicle-service-test-client"/> <property name="topic-register-service-url" value="http://tnz017:8071/tnz/services/TopicRegisterService-1.1"/> <property name="username" value="*****"/> <property name="password" value="*****"/> <class name="nz.co.toyota.mediators.datahub.TopicRegisterGetVehicleIdentifierMediator"> </class> <clone continueParent="false"> <target sequence="datahub.vbats.getvehicle.sequence"/> <target sequence="datahub.vis.getvehicle.sequence"/> </clone> </in> </sequence> </definitions>
