Hi Ruwan, thank you for your help, this is very, very helpfull. I'm completely stuck here.
I changed the Synapse configuration to look like this: <definitions xmlns="http://ws.apache.org/ns/synapse"> <localEntry key="validateCli.wsdl" src="file:/c:/dev/synapse-1.2/harness/validateCli.wsdl"/> <localEntry key="ValidateCLIRequest" src="file:/c:/dev/synapse-1.2/harness/ValidateCLIRequest_V1.0.xsd"/> <localEntry key="ValidateCLIResponse" src="file:/c:/dev/synapse-1.2/harness/ValidateCLIResponse_V1.0.xsd"/> <localEntry key="CommonTypes" src="file:/c:/dev/synapse-1.2/harness/commontypes.xsd"/> <proxy name="ValidateCLI" transports="http" trace="enable"> <publishWSDL key="validateCli.wsdl" trace="enable"> <resource location="ValidateCLIRequest_V1.0.xsd" key="ValidateCLIRequest"/> <resource location="ValidateCLIResponse_V1.0.xsd" key="ValidateCLIResponse"/> <resource location="commontypes.xsd" key="CommonTypes"/> </publishWSDL> <parameter name="useOriginalwsdl">true</parameter> <parameter name="modifyUserWSDLPortAddress">true</parameter> <target> <inSequence> <send> <endpoint address=" http://SERVERNAME_HIDDDEN/ValidateCLI/TelewestBindingPort"/> </send> </inSequence> <outSequence> <send/> </outSequence> </target> </proxy> </definitions> which I hope is what you indicated to me in your previous email. But unfortunately, this leads to a NullpointerException when Synapse tries to start up: java.lang.NullPointerException at org.apache.synapse.config.xml.endpoints.EndpointFactory.handleException(EndpointFactory.java:475) at org.apache.synapse.config.xml.endpoints.EndpointFactory.getEndpointFactory(EndpointFactory.java:439) at org.apache.synapse.config.xml.endpoints.EndpointFactory.getEndpointFromElement(EndpointFactory.java:67) at org.apache.synapse.config.xml.SendMediatorFactory.createMediator(SendMediatorFactory.java:90) at org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:173) at org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:39) at org.apache.synapse.config.xml.SequenceMediatorFactory.createAnonymousSequence(SequenceMediatorFactory.java:63) at org.apache.synapse.config.xml.ProxyServiceFactory.createProxy(ProxyServiceFactory.java:167) at org.apache.synapse.config.xml.SynapseXMLConfigurationFactory.defineProxy(SynapseXMLConfigurationFactory.java:148) at org.apache.synapse.config.xml.SynapseXMLConfigurationFactory.getConfiguration(SynapseXMLConfigurationFactory.java:84) at org.apache.synapse.config.xml.ConfigurationFactoryAndSerializerFinder.getConfiguration(ConfigurationFactoryAndSerializerFinder.java:160) at org.apache.synapse.config.xml.XMLConfigurationBuilder.getConfiguration(XMLConfigurationBuilder.java:46) at org.apache.synapse.config.SynapseConfigurationBuilder.getConfiguration(SynapseConfigurationBuilder.java:74) at org.apache.synapse.core.axis2.SynapseInitializationModule.getConfiguration(SynapseInitializationModule.java:171) at org.apache.synapse.core.axis2.SynapseInitializationModule.init(SynapseInitializationModule.java:95) at org.apache.axis2.context.ConfigurationContextFactory.initModules(ConfigurationContextFactory.java:248) at org.apache.axis2.context.ConfigurationContextFactory.init(ConfigurationContextFactory.java:226) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:93) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:206) at org.apache.synapse.ServerManager.start(ServerManager.java:101) at org.apache.synapse.SynapseServer.main(SynapseServer.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) at java.lang.Thread.run(Unknown Source) 2008-12-12 17:43:16,195 [172.19.64.188-FRY] [WrapperSimpleAppMain] FATAL ServerManager Synapse startup failed... org.apache.synapse.SynapseException: Could not initialize Synapse : null at org.apache.synapse.config.SynapseConfigurationBuilder.handleException(SynapseConfigurationBuilder.java:90) at org.apache.synapse.config.SynapseConfigurationBuilder.getConfiguration(SynapseConfigurationBuilder.java:83) at org.apache.synapse.core.axis2.SynapseInitializationModule.getConfiguration(SynapseInitializationModule.java:171) at org.apache.synapse.core.axis2.SynapseInitializationModule.init(SynapseInitializationModule.java:95) at org.apache.axis2.context.ConfigurationContextFactory.initModules(ConfigurationContextFactory.java:248) at org.apache.axis2.context.ConfigurationContextFactory.init(ConfigurationContextFactory.java:226) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:93) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:206) at org.apache.synapse.ServerManager.start(ServerManager.java:101) at org.apache.synapse.SynapseServer.main(SynapseServer.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at org.apache.synapse.config.xml.endpoints.EndpointFactory.handleException(EndpointFactory.java:475) at org.apache.synapse.config.xml.endpoints.EndpointFactory.getEndpointFactory(EndpointFactory.java:439) at org.apache.synapse.config.xml.endpoints.EndpointFactory.getEndpointFromElement(EndpointFactory.java:67) at org.apache.synapse.config.xml.SendMediatorFactory.createMediator(SendMediatorFactory.java:90) at org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:173) at org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:39) at org.apache.synapse.config.xml.SequenceMediatorFactory.createAnonymousSequence(SequenceMediatorFactory.java:63) at org.apache.synapse.config.xml.ProxyServiceFactory.createProxy(ProxyServiceFactory.java:167) at org.apache.synapse.config.xml.SynapseXMLConfigurationFactory.defineProxy(SynapseXMLConfigurationFactory.java:148) at org.apache.synapse.config.xml.SynapseXMLConfigurationFactory.getConfiguration(SynapseXMLConfigurationFactory.java:84) at org.apache.synapse.config.xml.ConfigurationFactoryAndSerializerFinder.getConfiguration(ConfigurationFactoryAndSerializerFinder.java:160) at org.apache.synapse.config.xml.XMLConfigurationBuilder.getConfiguration(XMLConfigurationBuilder.java:46) at org.apache.synapse.config.SynapseConfigurationBuilder.getConfiguration(SynapseConfigurationBuilder.java:74) ... 14 more so I also tried this Synapse configuration: <definitions xmlns="http://ws.apache.org/ns/synapse"> <localEntry key="validateCli.wsdl" src="file:/c:/dev/synapse-1.2/harness/validateCli.wsdl"/> <localEntry key="ValidateCLIRequest" src="file:/c:/dev/synapse-1.2/harness/ValidateCLIRequest_V1.0.xsd"/> <localEntry key="ValidateCLIResponse" src="file:/c:/dev/synapse-1.2/harness/ValidateCLIResponse_V1.0.xsd"/> <localEntry key="CommonTypes" src="file:/c:/dev/synapse-1.2/harness/commontypes.xsd"/> <proxy name="ValidateCLI" transports="http" trace="enable"> <publishWSDL key="validateCli.wsdl" trace="enable"> <resource location="ValidateCLIRequest_V1.0.xsd" key="ValidateCLIRequest"/> <resource location="ValidateCLIResponse_V1.0.xsd" key="ValidateCLIResponse"/> <resource location="commontypes.xsd" key="CommonTypes"/> </publishWSDL> <parameter name="useOriginalwsdl">true</parameter> <parameter name="modifyUserWSDLPortAddress">true</parameter> <target> <inSequence> <send> <endpoint> <address> http://SERVERNAME_HIDDDEN/ValidateCLI/TelewestBindingPort</address> </endpoint> </send> </inSequence> <outSequence> <send/> </outSequence> </target> </proxy> </definitions> but this last configuration gives me the same behaviour as before (202 Accepted and empty response body). Any ideas? Thanks again, everyone! Henrik 2008/12/12 Ruwan Linton <[email protected]>: > Hi Henrik, > > Please change the configuration of the proxy inSequence and the outSequence > to the following and see whether it works; > > <inSequence> > <send><endpoint address=" > http://SERVER_NAME_AND_PORT_HIDDEN/ValidateCLI/TelewestBindingPort "/></send> > </inSequence> > <outSequence> > <send/> > </outSequence> > > If you do not specify an outSequence we assume it to be send back but in > your case there is an outSequence but it is empty :-( > > Hope this will help you.. > > Thanks, > Ruwan > > 2008/12/12 Henrik Pettersen <[email protected]> > >> Hi Ruwan, >> >> please find attached my original WSDL, a sample request envelope, and a >> diff of the soapUI debug log for the proxied and non-proxied webservice >> calls. >> >> The WSDL is also dependent on 3 XML Schema documents, so I have attached >> these as well. >> >> Any insight would be much appreciated. Many thanks for your help! >> >> Sincerely, >> Henrik Pettersen >> Sparkling Ideas, ltd. (for Virgin Media) >> >> 2008/12/12 Ruwan Linton <[email protected]> >> >> Asankha, >>> >>> On the 1.2 release we did a change in such a way that the outSequence can >>> be >>> empty in which case we do a send back. So this should work. :-( >>> >>> I am wondering whether Henrik is trying to invoke an In Only operation. Is >>> there any possibility for you to share the WSDL that you are using in this >>> case, and a sample message? >>> >>> Thanks, >>> Ruwan >>> >>> On Thu, Dec 11, 2008 at 10:39 PM, Asankha C. Perera <[email protected] >>> >wrote: >>> >>> > Hi Henrik >>> > >>> > I am having a little problem with proxying some webservices with >>> Synapse >>> >> (see previous posts today for more history), where I'm finding that the >>> >> *response body is empty* when returned to the client. Using soapUI [ >>> >> http://www.soapui.org/], I have been able to collect some more >>> >> information. >>> >> >>> >> Please find attached: >>> >> synapsis.soapui.log.diff.report.htm/ / ==> An HTML diff report on >>> the >>> >> two log entries / files below >>> >> soapui.synapsis.service.log ==> The request and >>> response >>> >> soapUI log when calling the Synapse proxied 'validateCLI' webservice >>> >> soapui.original.service.log ==> The request and >>> response >>> >> soapUI log when calling the non-proxied, original, 'validateCLI' >>> webservice >>> >> >>> >> Here is my current synapse.xml: >>> >> >>> >> <definitions xmlns="http://ws.apache.org/ns/synapse"> >>> >> <localEntry key="validateCli.wsdl" >>> >> src="file:/c:/dev/synapse-1.2/harness/validateCli.wsdl"/> >>> >> <localEntry key="ValidateCLIRequest" >>> >> src="file:/c:/dev/synapse-1.2/harness/ValidateCLIRequest_V1.0.xsd"/> >>> >> <localEntry key="ValidateCLIResponse" >>> >> src="file:/c:/dev/synapse-1.2/harness/ValidateCLIResponse_V1.0.xsd"/> >>> >> <localEntry key="CommonTypes" >>> >> src="file:/c:/dev/synapse-1.2/harness/commontypes.xsd"/> <proxy >>> >> name="ValidateCLI" transports="http" trace="enable"> >>> >> <parameter name="useOriginalwsdl">true</parameter> >>> >> <parameter name="modifyUserWSDLPortAddress">true</parameter> >>> >> <publishWSDL key="validateCli.wsdl" trace="enable"> >>> >> <resource location="ValidateCLIRequest_V1.0.xsd" >>> >> key="ValidateCLIRequest"/> >>> >> <resource location="ValidateCLIResponse_V1.0.xsd" >>> >> key="ValidateCLIResponse"/> >>> >> <resource location="commontypes.xsd" >>> >> key="CommonTypes"/> >>> >> </publishWSDL> >>> >> <target> >>> >> <inSequence> <send/> >>> >> </inSequence> >>> >> <outSequence> >>> >> </outSequence> >>> >> </target> >>> >> </proxy> >>> >> </definitions> >>> >> >>> >> I also noted that the the HTTP return codes also differ: >>> >> >>> >> Original WS call: HTTP/1.1 200 OK >>> >> Proxied WS call: HTTP/1.1 202 Accepted >>> >> >>> >> I am not sure why this is happening (no response body + returning 202 >>> >> instead of 200), if I am doing something incorrect here or if I simply >>> have >>> >> an incorrect synapse configuration. >>> >> >>> >> Has anyone seen this behaviour before? Any help would be greatly >>> >> appreciated. >>> >> >>> > Please follow the basic proxy services samples and basic docs [2]. Your >>> > outsequence is empty, thus no response would be forwarded. Also, you >>> would >>> > need to define a target endpoint, or a <send> mediator which specifies >>> the >>> > address of the real service endpoint >>> > >>> > [1] http://synapse.apache.org/Synapse_Samples.html#ProxyServices >>> > [2] http://synapse.apache.org/Synapse_QuickStart.html (part 2 of this >>> > called Proxy Services) >>> > >>> > >>> > cheers >>> > asankha >>> > >>> > -- >>> > Asankha C. Perera >>> > http://adroitlogic.org >>> > >>> > http://esbmagic.blogspot.com >>> > >>> > >>> >>> >>> -- >>> Ruwan Linton >>> http://wso2.org - "Oxygenating the Web Services Platform" >>> http://ruwansblog.blogspot.com/ >>> >> >> > > > -- > Ruwan Linton > http://wso2.org - "Oxygenating the Web Services Platform" > http://ruwansblog.blogspot.com/ >
