Hi Rajkumar,
It is because synapse adds a default namespace. try this. It should solve
the problem.
<in>
<payloadFactory media-type="xml">
<format>
<GetQuote *xmlns=""*>
<symbol>$1</symbol>
</GetQuote>
</format>
<args>
<arg xmlns:m0="http://services.samples"
evaluator="xml"
expression="//m0:symbol"/>
</args>
</payloadFactory>
<class name="org.wso2.esb.mediator.ProtoBufMediator"/>
</in>
On Sun, Jun 8, 2014 at 4:11 AM, Indika Sampath <[email protected]> wrote:
> Hi Rajkumar,
>
> Following documentation [1] might be useful to achieve what you want.
> Refer to the "Suppressing the namespace" section.
>
> [1] https://docs.wso2.org/display/ESB481/PayloadFactory+Mediator
>
> Cheers!
>
>
> On Sun, Jun 8, 2014 at 9:30 AM, Rajkumar Rajaratnam <[email protected]>
> wrote:
>
>> Hi,
>>
>> I am trying to use Payload Factory Mediator to transform a request.
>>
>> *Original request's body*
>>
>> <soapenv:Body>
>>
>>
>>
>>
>> *<m0:getQuote xmlns:m0="http://services.samples
>> <http://services.samples>">
>> <m0:request><m0:symbol>IBM</m0:symbol></m0:request></m0:getQuote>*
>> </soapenv:Body>
>>
>> *What I want*
>>
>> <soapenv:Body>
>>
>>
>> *<GetQuote><symbol>IBM</symbol></GetQuote>*
>> </soapenv:Body>
>>
>> *My Synapse configuration*
>>
>> <in>
>> <payloadFactory media-type="xml">
>> <format>
>> <GetQuote>
>> <symbol>$1</symbol>
>> </GetQuote>
>> </format>
>> <args>
>> <arg xmlns:m0="http://services.samples"
>> evaluator="xml"
>> expression="//m0:symbol"/>
>> </args>
>> </payloadFactory>
>> <class name="org.wso2.esb.mediator.ProtoBufMediator"/>
>> </in>
>>
>>
>> *But what I get in the transformed message's body is*
>>
>> <soapenv:Body>
>> <GetQuote *xmlns="http://ws.apache.org/ns/synapse
>> <http://ws.apache.org/ns/synapse>"*>
>> <symbol>IBM</symbol>
>> </GetQuote>
>> </soapenv:Body>
>>
>> *My intention is not to have any namespaces inside message body. How can
>> I achieve this?*
>>
>>
>>
>> I tried removing namespace inside my custom mediator using,
>>
>>
>> *mc.getEnvelope().getBody().getFirstElement().getAllDeclaredNamespaces().remove();*
>>
>> It gave the following error when I send request from my client.
>>
>> WARN - FaultHandler ERROR_DETAIL : org.apache.synapse.SynapseException:
>> Error occured in the mediation of the class mediator
>> at
>> org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:82)
>> at
>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
>> at
>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
>> at
>> org.apache.synapse.mediators.filters.InMediator.mediate(InMediator.java:61)
>> at
>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
>> at
>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
>> at
>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
>> at
>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:228)
>> at
>> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>> at
>> org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
>> at
>> org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
>> at
>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.IllegalStateException
>> at java.util.HashMap$HashIterator.remove(HashMap.java:938)
>> at
>> org.wso2.esb.mediator.ProtoBufMediator.mediate(ProtoBufMediator.java:36)
>> at
>> org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:78)
>> ... 15 more
>>
>>
>> Thanks.
>>
>> --
>> Rajkumar Rajaratnam
>> Software Engineer | WSO2, Inc.
>> Mobile +94777568639 | +94783498120
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Indika Sampath
> Software Engineer
> WSO2 Inc.
> http://wso2.com
>
> Phone: +94 716 424 744
> Blog: http://indikasampath.blogspot.com/
>
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>
--
Regards,
*Shafreen*
Software Engineer
WSO2 Inc
Mobile : 077-556-395-1
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev