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/
>

Reply via email to