Hi Garth,

I just checked this with our sample client and it seems to work fine. I sent
a XML payload to the proxy on Synapse and forwarded that message to the
sample service (SimpleStockQuoteService) and send back the response. (You
don't need to use the format="pox" in the endpoint because you are sending a
POX payload) You may verify this by running the sample 50 [1] after changing
the address endpoint to remove the format="soap11".

<definitions xmlns="http://ws.apache.org/ns/synapse";>
    <!-- filtering of messages with XPath and regex matches -->
    <filter source="get-property('To')" regex=".*/StockQuote.*">
        <send>
            <endpoint>
                <address
uri="http://localhost:9000/soap/SimpleStockQuoteService"/>
            </endpoint>
        </send>
        <drop/>
    </filter>
    <send/>
</definitions>


BTW: what is the version of synapse that you are using?

[1] - http://synapse.apache.org/Synapse_Samples.html#Sample50

Thanks,
Ruwan

On Fri, May 2, 2008 at 11:23 PM, Garth Patil <[EMAIL PROTECTED]> wrote:

> log4j.category.org.apache.synapse=DEBUG
> log attached.
> Thanks,
> Garth
>
> On Fri, May 2, 2008 at 10:37 AM, Ruwan Linton <[EMAIL PROTECTED]>
> wrote:
> > Hi Garth,
> >
> >  Thanks for the information, could you please send us the synapse DEBUG
> log
> >  as well. You can change the log level by editing the
> lib/log4j.properties
> >  file to enable DEBUG logs.
> >
> >  Thanks,
> >  Ruwan
> >
> >
> >
> >  On Fri, May 2, 2008 at 10:56 PM, Garth Patil <[EMAIL PROTECTED]>
> wrote:
> >
> >  > The request and response from the actual service is not SOAP. It is
> >  > just XML. While I understand that synapse is very SOAP-centric, in
> >  > this case, I want to use synapse to proxy the request for logging.
> >  > The request to synapse looks like this:
> >  >
> >  > <?xml version="1.0" ?>
> >  > <request>
> >  >  <message>
> >  >    <recipient>abc1234</recipient>
> >  >    <text>Test message.</text>
> >  >  </message>
> >  > </request>
> >  >
> >  > Synapse passes the request on to the actual service without changing
> >  > the XML. The request to the actual service looks exactly the same
> >  > The response from the actual service looks like this:
> >  >
> >  > <?xml version="1.0" ?>
> >  > <response>
> >  >  <requestId>F81D4FAE-7DEC-11D0-A765-00A0C91E6BF6</requestId>
> >  >  <status>1status>
> >  > </response>
> >  >
> >  > But the response returned by synapse adds the soapenv:Body and
> >  > soapenv:Envelope tags to the response:
> >  >
> >  > <?xml version="1.0" ?>
> >  > <soapenv:Envelope>
> >  >  <soapenv:Body>
> >  >    <response>
> >  >      <requestId>F81D4FAE-7DEC-11D0-A765-00A0C91E6BF6</requestId>
> >  >      <status>1status>
> >  >    </response>
> >  >  </soapenv:Body>
> >  > </soapenv:Envelope>
> >  >
> >  > Thanks to everyone for the help.
> >  > Best,
> >  > Garth
> >  >
> >  > On Thu, May 1, 2008 at 10:11 PM, Asankha C. Perera <[EMAIL PROTECTED]>
> >  > wrote:
> >  > > Garth
> >  > >
> >  > >  Could you post a sample request sent to Synapse? I think the
> problem
> >  > here
> >  > > is that Synapse "detects" your original request as SOAP. Probably
> this
> >  > is
> >  > > due to the content type of the message. Is there a possibility for
> you
> >  > to
> >  > > use the TCPMon to capture an input message and post it here?
> >  > >
> >  > >  asankha
> >  > >
> >  > >
> >  > >
> >  > >
> >  > >  Ruwan Linton wrote:
> >  > >
> >  > > > Hi Garth,
> >  > > >
> >  > > > Is it the actual web service which returns SOAP as the response
> for
> >  > POX
> >  > > > (XML/HTTP) request, or Synapse. If it is the former you need to
> ask
> >  > this
> >  > > > question from the web service container guys...
> >  > > >
> >  > > > If the request you send to synapse is POX then synapse will
> respond to
> >  > you
> >  > > > as POX regardless of whether it receives a SOAP or POX..
> >  > > >
> >  > > > Could you please clarify the problem a little bit more?
> >  > > >
> >  > > > Thanks,
> >  > > > Ruwan
> >  > > >
> >  > > > On Fri, May 2, 2008 at 3:04 AM, Garth Patil <[EMAIL PROTECTED]
> >
> >  > wrote:
> >  > > >
> >  > > >
> >  > > >
> >  > > > > Hi All,
> >  > > > > I'm using synapse to proxy a web service that uses XML over
> HTTP. My
> >  > > > > configuration looks like this:
> >  > > > > <definitions xmlns= "http://ws.apache.org/ns/synapse";>
> >  > > > >  <proxy name="TestProxy">
> >  > > > >   <target>
> >  > > > >     <endpoint>
> >  > > > >       <address uri="http://someremoteservice.com/msg";
> format="pox"
> >  > />
> >  > > > >     </endpoint>
> >  > > > >     <inSequence>
> >  > > > >       <log level= "full" />
> >  > > > >     </inSequence>
> >  > > > >     <outSequence>
> >  > > > >       <log level= "full" />
> >  > > > >       <send />
> >  > > > >     </outSequence>
> >  > > > >   </target>
> >  > > > >  </proxy>
> >  > > > > </definitions>
> >  > > > >
> >  > > > > I post XML to localhost:8080/soap/TestProxy, and synapse passes
> it
> >  > to
> >  > > > > the specified endpoint without changing it. The remote service
> >  > returns
> >  > > > > XML which is wrapped in soapenv:Body and soapenv:Envelope tags.
> Is
> >  > > > > there a way to specify that the response (like the request)
> remain
> >  > > > > unadulterated by SOAP tags?
> >  > > > > Thanks,
> >  > > > > Garth
> >  > > > >
> >  > > > >
> >  > > > >
> >  > > >
> >  > > >
> >  > > >
> >  > > >
> >  > > >
> >  > >
> >  >
> >
> >
> >
> >
> >
> > --
> >  Ruwan Linton
> >  http://www.wso2.org - "Oxygenating the Web Services Platform"
> >
>



-- 
Ruwan Linton
http://www.wso2.org - "Oxygenating the Web Services Platform"

Reply via email to