Hi all.

I have this API:

 

<api xmlns="http://ws.apache.org/ns/synapse"; name="DatosUsuarios"
context="/datos">

   <resource methods="GET" uri-template="/listadousuarios"
inSequence="RESTin" outSequence="RESTout" faultSequence="fault" />

   <resource methods="GET" uri-template="/getporid/{id}"
inSequence="RESTinid" outSequence="RESToutid" faultSequence="fault" />

</api>

 

I want to call it in this way: curl -v
http://127.0.0.1:8280/datos/getporid/1 but the request in the BE it´s
malformed. 

 

 

The Sequence RESTinid:

 

<sequence xmlns="http://ws.apache.org/ns/synapse"; name="RESTinid"
trace="enable">

    <log level="full" category="DEBUG"/>

    <payloadFactory>

        <format>

            <axis2ns37:_getdatosusuario_id
xmlns:axis2ns37="http://cdae.uci.cu/servicios/";>

                <axis2ns37:id>$1</axis2ns37:id>

            </axis2ns37:_getdatosusuario_id>

        </format>

        <args>

            <arg xmlns:ns="http://org.apache.synapse/xsd";
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";
xmlns:ns3="http://org.apache.synapse/xsd";
expression="get-property('uri.var.id')"/>

        </args>

    </payloadFactory>

    <send>

        <endpoint>

            <address
uri="http://127.0.0.1:9765/services/DatosUsuariosREST.HTTPEndpoint/datosusua
rio" format="rest"/>

        </endpoint>

    </send>

</sequence>

 

With the payloadFactory mediator I have this error in the message format in
the BE restful service deploy in AS:

 

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";>

   <soapenv:Header />

   <soapenv:Body>

      <axis2ns57:_getdatosusuario_id
xmlns:axis2ns57="http://cdae.uci.cu/servicios/";>

         <axis2ns57:id>datos/getporid/1</axis2ns57:id>

         <axis2ns57:id>1</axis2ns57:id>

      </axis2ns57:_getdatosusuario_id>

   </soapenv:Body>

</soapenv:Envelope>

 

Without the payloadFactory I see this:

 

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";>

   <soapenv:Header />

   <soapenv:Body>

      <axis2ns56:_getdatosusuario_id
xmlns:axis2ns56="http://cdae.uci.cu/servicios/";>

         <axis2ns56:id>datos/getporid/1</axis2ns56:id>

      </axis2ns56:_getdatosusuario_id>

   </soapenv:Body>

</soapenv:Envelope>

 

In any case I don´t know why I get this value: datos/getporid/1

 

In ESB I see this error:

Message ID : urn:uuid:b82cbd23-2c74-4e6f-9aeb-6b711c8f779e] [Status
Completed : true] [Status SendingCompleted : true]

[2012-05-16 02:19:44,816]  WARN - ClientWorker Unexpected response received.
HTTP response code : 500 HTTP status : Internal Server Error exception :
com.c

tc.wstx.exc.WstxParsingException: Unexpected close tag </body>; expected
</HR>.

at [row,col {unknown-source}]: [67,187]

[2012-05-16 02:19:44,818] ERROR - NativeWorkerPool Uncaught exception

java.lang.ClassCastException: org.apache.axiom.om.impl.llom.OMTextImpl
cannot be cast to org.apache.axiom.om.OMElement

        at
org.apache.synapse.util.MessageHelper.cloneSOAPFault(MessageHelper.java:441)

        at
org.apache.synapse.util.MessageHelper.cloneSOAPEnvelope(MessageHelper.java:2
54)

        at
org.apache.synapse.core.axis2.SOAPUtils.convertSOAP11toSOAP12(SOAPUtils.java
:95)

        at
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseC
allbackReceiver.java:323)

        at
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbac
kReceiver.java:160)

        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)

        at
org.apache.synapse.transport.nhttp.ClientWorker.run(ClientWorker.java:275)

        at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerP
ool.java:173)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
08)

        at java.lang.Thread.run(Thread.java:662)

 

The out sequence:

<sequence xmlns="http://ws.apache.org/ns/synapse"; name="RESTout"
trace="enable">

    <send/>

</sequence>

 

 

I try the BE service with curl, and all it´s fine.

curl
http://127.0.0.1:9765/services/DatosUsuariosREST.HTTPEndpoint/datosusuario/1

 

 

Saludos,

Ing. Jorge Infante Osorio.

J´Dpto Soluciones SOA.

CDAE.

Fac. 5.

UCI.

 



10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS 
INFORMATICAS...
CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION

http://www.uci.cu
http://www.facebook.com/universidad.uci
http://www.flickr.com/photos/universidad_uci

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

Reply via email to