That information helps alot.  I am now able to get responses to my
HTTP GET using the url https://server/soap/StockQuoteProxy/mediate .
The problem is that the messagecontext only seems to want xml.  My
intent is to return non-XML for the HTTP GET.  setPayLoadXML for the
script mediators requires XML doesn't it?  If I set the payload to
POX, Synapse returns a string name/value pair of
test1=foo
with a Content-Type of "application/x-www-form-urlencoded; charset=UTF-8"

<definitions xmlns="http://ws.apache.org/ns/synapse";>
   <sequence name="textout">
        <log level="custom">
                <property name="text" value="textout"/>
                <property name="message"
expression="get-property('MESSAGE_FORMAT')"/>
        </log>
        <send/>
    </sequence>
    <sequence name="textin">
        <log level="custom">
                <property name="text" value="textin"/>
                <property name="message"
expression="get-property('MESSAGE_FORMAT')"/>
        </log>
        <script language="groovy"><![CDATA[
                  println mc.getReplyTo();
                  mc.setTo("http://www.w3.org/2005/08/addressing/anonymous";);
                  mc.setProperty ("RESPONSE", "true");
                  mc.setPayloadXML("<test><test1>foo</test1></test>");
        ]]></script>
        <send/>
    </sequence>
    <sequence name="textfault">
       <log level="full"/>
        <makefault>
                <code value="tns:Receiver"
xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/>
            <reason expression="get-property('ERROR_MESSAGE')"/>
        </makefault>
        <property name="RESPONSE" value="true"/>
        <send/>
    </sequence>
    <proxy name="StockQuoteProxy" transports="https">
        <target inSequence="textin" outSequence="textout"
faultSequence="textfault">
        </target>
    </proxy>
</definitions>

Any other ideas how to get non-XML in the response from an HTTP GET?
~john

On Wed, Feb 27, 2008 at 3:46 PM, Ruwan Linton <[EMAIL PROTECTED]> wrote:
> Hi John,
>
>  Yes this is acceptable, and is because there is a GET request processor
>  which filters the GET requests over the service paths in synapse and serves
>  the service information page. This is because we assumed that normally there
>  is a operation appended to the URL of the service in almost all the cases.
>
>  So you will have to try the same adding the operation to the end of the
>  service URL which is "mediate" if you do not provide a WSDL to the proxy
>  service. (we add an operation named mediate for each and every service whihc
>  does not specifies a WSDL)
>
>  So, if the service URL is http://localhost:8080/soap/xxx, then you need to
>  try http://localhost:8080/soap/xxx/mediate in-order to do a actual GET
>  request over the proxy service.
>
>  We had a discussion on adding a configuration point to change this filter
>  behaviors, and most probably will be available for the next release, so that
>  you can skip this service information filter by changing a configuration.
>
>  Thanks,
>  Ruwan
>
>
>
>  On Thu, Feb 28, 2008 at 4:06 AM, J Bouck <[EMAIL PROTECTED]> wrote:
>
>  > See the synapse.xml that I have tried, but it still does not work with
>  > HTTPS GET.  If I POST with an xml payload I see the textin sequence
>  > log messages so I know that it's working.  If I GET to
>  > /soap/StockQuoteProxy then the textin sequence log messages never
>  > appear, the faultsequence does not run, synapse hesitates for 10
>  > seconds and then returns the service definition page with the link of
>  > the wsdl (which doesn't work because there is no wsdl defined for the
>  > proxy service).  I am trying to do a simple GET on a synapse proxy.
>  > Any ideas?
>  >
>  > <definitions xmlns="http://ws.apache.org/ns/synapse";>
>  >   <sequence name="textout">
>  >        <log level="custom">
>  >                <property name="text" value="textout"/>
>  >                <property name="message"
>  > expression="get-property('MESSAGE_FORMAT')"/>
>  >        </log>
>  >        <property name="RESPONSE" value="true"/>
>  >        <send/>
>  >    </sequence>
>  >    <sequence name="textin">
>  >        <log level="custom">
>  >                <property name="text" value="SYNAPSE textin error"/>
>  >                <property name="message"
>  > expression="get-property('MESSAGE_FORMAT')"/>
>  >        </log>
>  >        <drop/>
>  >    </sequence>
>  >    <sequence name="textfault">
>  >       <log level="full"/>
>  >        <makefault>
>  >                <code value="tns:Receiver"
>  > xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/>
>  >            <reason expression="get-property('ERROR_MESSAGE')"/>
>  >        </makefault>
>  >        <property name="RESPONSE" value="true"/>
>  >        <send/>
>  >    </sequence>
>  >    <proxy name="StockQuoteProxy" transports="https">
>  >        <target inSequence="textin" outSequence="textout"
>  > faultSequence="textfault">
>  >        </target>
>  >    </proxy>
>  > </definitions>
>  >
>  > ~john
>  >
>  >
>  > On Wed, Feb 27, 2008 at 11:04 AM, Asankha C. Perera <[EMAIL PROTECTED]>
>  > wrote:
>  > > John
>  > >
>  > > > I can write an xslt that outputs text.  What would the synapse.xml
>  > >  > look like to make the response be non-xml (without soap envelope
>  > >  > wrappers, but including the appropriate http headers like mime-types
>  > >  > for the non-xml content)?
>  > >  >
>  > >  Well, I have tried this with non http/s transports such as JMS where
>  > >  this is used frequently.. The XSLT mediator will detect plain text
>  > >  output and automatically wrap it in a text element. Basically the
>  > >  message will always be a SOAP "infoset" within Synapse - a SOAP infoset
>  > >  is usually serialized into XML, but internally its just the model that
>  > >  we keep the "message" as and not in its XML representation.
>  > >
>  > >  So yes, you can continue to set transport headers on this message using
>  > >  the property mediator etc
>  > >
>  > > > I think that I would prefer to write a synapse mediator that would set
>  > >  > the servletresponse (non-xml response payload and http headers).
>  > >  > Would something like that be possible?
>  > >  >
>  > >  sure
>  > >
>  > >  asankha
>  > >
>  >
>
>
>
>  --
>  Ruwan Linton
>  http://www.wso2.org - "Oxygenating the Web Services Platform"
>

Reply via email to