I believe what Rajika has suggested should do the trick. You need to specify 
the content type at service level. This is because TCP is a transport layer 
protocol and Synapse has no other means of figuring out the media type of the 
received messages. 

The error you have posted implies that Synapse is unable to determine the TCP 
port for the service endpoint (this is the only required parameter). That's a 
little weird since you have specified it in axis2.xml. However if the problem 
persists try specifying the port number at the proxy service level as a 
parameter.

Thanks,
Hiranya

On Jul 8, 2013, at 8:18 AM, Rajika Kumarasiri <rajika.kumaras...@gmail.com> 
wrote:

> Please try having the parameter transport.tcp.contentType as a proxy
> service parameter.
> 
> <definitions xmlns="http://ws.apache.org/ns/synapse";>
>    <!-- Definitions for TCPTransportListener -->
>    <proxy name="tcp2http" transports="tcp" startOnLoad="true"
> trace="disable">
>        <target>
>            <endpoint>
>                <address uri="http://mdzhlfesb01:50000"/>
>            </endpoint>
>            <inSequence>
>                <property name="messageType" value="text/plain"
> scope="axis2"/>
>                <property name="OUT_ONLY" value="true"/>
>                <log level="full"/>
>            </inSequence>
>        </target>
>        <parameter name="transport.tcp.contentType">text/plain</parameter>
>    </proxy>
> </definitions>
> 
> And have the required builder in axis2.xml for the text/plain type.
> 
> Rajika
> 
> 
> On Mon, Jul 8, 2013 at 10:52 AM, Wright, Peter
> <peter.wri...@six-group.com>wrote:
> 
>> Hi Rajika,
>> 
>> Do you see anything missing/incorrect in my configuration
>> that would explain it currently not working?
>> "Service doesn't have configuration information for transport tcp"
>> 
>> Peter
>> 
>> -----Original Message-----
>> From: Rajika Kumarasiri [mailto:rajika.kumaras...@gmail.com]
>> Sent: Montag, 8. Juli 2013 16:37
>> To: user@synapse.apache.org
>> Subject: Re: Synapse: tcp-listener for plain text messages
>> 
>> I just looked at the source and it does properly uses the configured
>> builders. So you should be able to use it to read the syslog messages as
>> plain text messages.
>> 
>> Rajika
>> 
>> 
>> On Mon, Jul 8, 2013 at 5:30 AM, Wright, Peter <peter.wri...@six-group.com
>>> wrote:
>> 
>>> I was hoping that the extensions made by Hiranja (support for content
>>> type) would solve my problem.
>>> Regarding the syslog message builder - I think that only supports the old
>>> (RFC 3164) syslog message format,
>>> whereas I need to support RFC 5424 format.
>>> Sounds like I can forget using synapse for this???
>>> 
>>> -----Original Message-----
>>> From: Rajika Kumarasiri [mailto:rajika.kumaras...@gmail.com]
>>> Sent: Freitag, 5. Juli 2013 17:07
>>> To: user@synapse.apache.org
>>> Subject: Re: Synapse: tcp-listener for plain text messages
>>> 
>>> It seems the TCP listener always try to create a SOAP message ignoring
>>> any configured builders. There is a syslog message builder which could
>> have
>>> been used otherwise. This limitation has to fix in TCP listener.
>>> 
>>> Rajika
>>> 
>>> 
>>> On Fri, Jul 5, 2013 at 7:41 AM, Wright, Peter <
>> peter.wri...@six-group.com
>>>> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> I'm trying to configure synapse to receive syslog messages (RFC 5424)
>> via
>>>> tcp,
>>>> parse them, and according to certain properties (sender?), send as JMS
>>>> messages
>>>> to different topics in a messaging provider.
>>>> 
>>>> At the moment I'm trying to get the first part running - setup a
>>>> tcp-listener that accepts
>>>> plain text messages - and for now, just writes the message to HTTP (as
>> in
>>>> sample 265).
>>>> 
>>>> What I've done so far:
>>>> 
>>>> 1. Tried the TCPServer by copying "axis2-transport-tcp-1.0.0.jar" to
>>>> $SYNAPSE_HOME/libs
>>>> and using the following config:
>>>> 
>>>> 1.1 axis2.xml
>>>> <transportReceiver name="tcp"
>>>> class="org.apache.axis2.transport.tcp.TCPServer">
>>>>        <parameter name="port">6060</parameter>
>>>> </transportReceiver>
>>>> <transportSender name="tcp"
>>>> class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
>>>> 
>>>> 1.2 start_TCPsrv_HTTP.xml
>>>> <definitions xmlns="http://ws.apache.org/ns/synapse";>
>>>>    <!-- Input is a TCP request with a SYSLOG message file -->
>>>>    <!-- Definitions for TCPServer: -->
>>>>    <proxy name="tcp2Http" transports="tcp">
>>>>        <target>
>>>>            <inSequence>
>>>>                <log level="full"/>
>>>>            </inSequence>
>>>>            <outSequence>
>>>>                <log level="full"/>
>>>>                <send/>
>>>>            </outSequence>
>>>>            <endpoint>
>>>>                <address uri="http://mdzhlfesb01:50000"/>
>>>>            </endpoint>
>>>>        </target>
>>>>    </proxy>
>>>> </definitions>
>>>> 
>>>> It seems however, that only SOAP messages are supported by the
>> TCPServer
>>>> class
>>>> (kept on getting error messages about incorrect message format)
>>>> Sent the message "hello world" and got:
>>>> Unexpected character 'h' (code 104) in prolog; expected '<'
>>>> 
>>>> 
>>>> 2. Found this link about support for content-type being added to the
>>>> tcp-listener
>>>> 
>>>> 
>>> 
>> http://mail-archives.apache.org/mod_mbox/synapse-user/201102.mbox/raw/%3cAANLkTin3Gqw6+E3n4FLRSGyT27kmKd=dqdz1su6cm...@mail.gmail.com%3e/1
>>>> I found this web page and downloaded
>>>> "axis2-transport-tcp-1.1.0-SNAPSHOT.jar" from here:
>>>> 
>>>> 
>>> 
>> http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/axis2/axis2-transport-tcp/1.1.0-SNAPSHOT/
>>>> and copied it to $SYNAPSE_HOME/libs (renamed
>>> axis2-transport-tcp-1.0.0.jar
>>>> --> axis2-transport-tcp-1.0.0.jar.old)
>>>> 
>>>> 1.1 axis2.xml
>>>> <transportReceiver name="tcp"
>>>> class="org.apache.axis2.transport.tcp.TCPTransportListener">
>>>>        <parameter
>>> name="transport.tcp.contentType">text/plain</parameter>
>>>>        <parameter name="transport.tcp.port">6060</parameter>
>>>> </transportReceiver>
>>>> <transportSender name="tcp"
>>>> class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
>>>> 
>>>> 1.2 start_TCPlis_HTTP.xml
>>>> 
>>>> <!-- Taken from synapse sample 265: TCP -> HTTP -->
>>>> <definitions xmlns="http://ws.apache.org/ns/synapse";>
>>>>    <!-- Definitions for TCPTransportListener -->
>>>>    <proxy name="tcp2http" transports="tcp" startOnLoad="true"
>>>> trace="disable">
>>>>        <target>
>>>>            <endpoint>
>>>>                <address uri="http://mdzhlfesb01:50000"/>
>>>>            </endpoint>
>>>>            <inSequence>
>>>>                <property name="messageType" value="text/plain"
>>>> scope="axis2"/>
>>>>                <property name="OUT_ONLY" value="true"/>
>>>>                <log level="full"/>
>>>>            </inSequence>
>>>>        </target>
>>>>    </proxy>
>>>> </definitions>
>>>> 
>>>> At startup, I get the following warnings:
>>>> 2013-07-05T13:31:40,INFO
>>>> ,mdzhsfesb01,MSGMED,AbstractTransportListener.java:176,TCP Listener
>>> started
>>>> 2013-07-05T13:31:40,WARN
>>>> ,mdzhsfesb01,MSGMED,AbstractTransportListener.java:224,Unable to
>>> configure
>>>> the service tcp2http for the TCP transport: Service doesn't have
>>>> configuration information for transport tcp. This service is being
>> marked
>>>> as faulty and will not be available over the TCP transport.
>>>> 2013-07-05T13:31:40,WARN
>>>> ,mdzhsfesb01,MSGMED,AbstractTransportListener.java:192,Disabling the
>> tcp
>>>> transport for the service tcp2http, because it is not configured
>> properly
>>>> for the service
>>>> 
>>>> It seems I'm missing some configuration information for TCP, and the
>> TCP
>>>> service is then disabled.
>>>> Any help would be greatly appreciated!
>>>> 
>>>> Thanks,
>>>> Peter
>>>> 
>>>> The content of this e-mail is intended only for the confidential use of
>>>> the person addressed.
>>>> If you are not the intended recipient, please notify the sender and
>>> delete
>>>> this email immediately.
>>>> Thank you.
>>>> 
>>> The content of this e-mail is intended only for the confidential use of
>>> the person addressed.
>>> If you are not the intended recipient, please notify the sender and
>> delete
>>> this email immediately.
>>> Thank you.
>>> 
>> The content of this e-mail is intended only for the confidential use of
>> the person addressed.
>> If you are not the intended recipient, please notify the sender and delete
>> this email immediately.
>> Thank you.
>> 

--
Hiranya Jayathilaka
Mayhem Lab/RACE Lab;
Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
E-mail: hira...@cs.ucsb.edu;  Mobile: +1 (805) 895-7443
Blog: http://techfeast-hiranya.blogspot.com

Reply via email to