Paul/All

(Reposting this under the right thread)

I've tried adding the property mediator as paul said, but the request
sent to the proxyed endpoint still doesn't have Content-Length. Tcp
monitor show the following request being sent:

--
POST http://localhost:12345/wsa/wsa1 HTTP/1.1
Host: 192.168.5.30:12345
SOAPAction: ""
Content-Type: text/xml; charset=UTF-8
Transfer-Encoding: chunked
Connection: Keep-Alive
User-Agent: Synapse-HttpComponents-NIO

14d
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:urn="urn:dtsl.ems2.cadastros.services.itemdocument:ItemDocument"><soapenv:Body>
     <urn:getItems>
        <urn:idGrupoEstoque>81</urn:idGrupoEstoque>
     </urn:getItems>
  </soapenv:Body></soapenv:Envelope>
0
--

synapse XML config follows:

<?xml version="1.0" encoding="UTF-8"?>

<syn:definitions xmlns:syn="http://ws.apache.org/ns/synapse";>

   <syn:registry provider="org.wso2.esb.registry.ESBRegistry">

       <syn:parameter name="root">file:registry/</syn:parameter>

   </syn:registry>

   <syn:proxy name="ItemNovo" transports="http" startOnLoad="true"
statistics="enable" trace="enable">

       <syn:target>

           <syn:endpoint>

               <syn:address uri="http://localhost:12345/wsa/wsa1"/>

           </syn:endpoint>

           <syn:inSequence>

               <syn:property name="Content-Length" value="328"
scope="transport"/>

               <syn:log level="full" separator="--"/>

           </syn:inSequence>

           <syn:outSequence>

               <syn:send/>

           </syn:outSequence>

       </syn:target>

       <syn:publishWSDL
uri="http://192.168.5.30:8080/wsa/wsa1/wsdl?targetURI=urn:dtsl.ems2.cadastros.services.itemdocument"/>

   </syn:proxy>

   <syn:sequence statistics="enable" name="main" trace="enable">

       <syn:in>

           <syn:log level="full"/>

           <syn:filter source="get-property('To')"
regex="http://localhost:9000.*";>

               <syn:send/>

           </syn:filter>

       </syn:in>

       <syn:out>

           <syn:send/>

       </syn:out>

   </syn:sequence>

   <syn:sequence statistics="enable" name="fault" trace="enable">

       <syn:log/>

   </syn:sequence>

</syn:definitions>

On Dec 21, 2007 9:55 AM, Alex Reis <[EMAIL PROTECTED]> wrote:
> Created JIRA ESBJAVA-415.
>
> Is it possible to get the whole message, envelope included with
> something like MessageContext.getXMLPayload()? I could use a script
> mediator to calculate it if something like that exists, but I'd think
> that the SOAP envelopes are added only at the send mediator. I thought
> of using the xpath function string-length over the serialized XML, but
> I'm not quite sure how.
>
>
>
>
>
> On Dec 21, 2007 9:29 AM, Paul Fremantle <[EMAIL PROTECTED]> wrote:
> > Alex
> >
> > Firstly, can you raise a JIRA about automatically adding Content-Length
> > headers to the message?
> >
> > Secondly, you can add transport headers to the message.
> >
> >   <property name="string" action='set' value="literal" |
> > expression="xpath") scope=transport|axis2|axis2-client]/>
> >
> > However, I don't know how you are going to calculate it!
> >
> > Asankha - is there already a way to turn on adding content-length in the
> > NIO HTTP client?
> >
> > Paul
> >
> > Alex Reis wrote:
> > > Hello fellow ESBers,
> > >
> > > I'm not sure any of you are familiar with the Progress OpenEdge
> > > WebServices Adapter. It's a proprietary Java EE web app to enable
> > > execution of Progress OpenEdge procedures (4GL) using SOAP requests.
> > >
> > > Whenever I try to proxy it's services within the ESB and invoke it, I
> > > get the response Error in SOAP Envelope: Content length must be
> > > specified. (10913).
> > >
> > > If I invoke it directly through soapUI, it works AS LONG as I provide
> > > the Content-Length header manually.
> > >
> > > So what I need to do is setup an input sequence that adds the
> > > Content-Length headers with the payload + soap headers size. I tried
> > > using the Header mediator but it only adds the SOAP headers, not HTTP.
> > >
> > > Is there any way to do this in Synapse/WSO2 ESB, maybe even using a
> > > script mediator?
> > >
> > > Thank you,
> > >
> > > Alex
> > >
> > >
> > >
> >
> > --
> > Paul Fremantle
> > Co-Founder and VP of Technical Sales, WSO2
> > OASIS WS-RX TC Co-chair
> >
> > Office: +1 646 290 8050
> > Cell: +44 798 447 4618
> >
> > blog: http://pzf.fremantle.org
> > [EMAIL PROTECTED]
> >
> > "Oxygenating the Web Service Platform", www.wso2.com
> >
> > _______________________________________________
> > Esb-java-user mailing list
> > [email protected]
> > http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> >
>
>
>
>
> --
> Alexandre M. Reis
> Enterprise Architect
> Datasize Tecnologia da Informação Ltda.
> Brasil & Movimento S.A.
> www.sundownnet.com.br
> +55-41-3276-6232
> +55-41-8801-9154
> +55-11-2103-4800
>



-- 
Alexandre M. Reis
Enterprise Architect
Datasize Tecnologia da Informação Ltda.
Brasil & Movimento S.A.
www.sundownnet.com.br
+55-41-3276-6232
+55-41-8801-9154
+55-11-2103-4800

_______________________________________________
Esb-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user

Reply via email to