2015-08-20 8 views
5

मैं wso2 ढांचे में टीसीपी पर एक संदेश भेजने की कोशिश कर रहा हूं। मैं लॉग में यह अपवाद हो रही है:wso2 सॉकेट पर संदेश भेजना, अपवाद प्राप्त करना

<transportReceiver name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportReceiver"/> 

<transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportListener"> 
       <parameter name="transport.tcp.port">6060</parameter> 
</transportReceiver> 

और wso2.xml:

[2015-08-20 12:21:50,098] ERROR - TCPWorker Error while processing TCP request through the Axis2 engine 
java.lang.NullPointerException 
     at org.wso2.carbon.tenant.dispatcher.MultitenantDispatcher.findService(MultitenantDispatcher.java:47) 
     at org.apache.axis2.engine.AbstractDispatcher.invoke(AbstractDispatcher.java:94) 
     at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) 
     at org.apache.axis2.engine.Phase.invoke(Phase.java:313) 
     at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261) 
     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167) 
     at org.apache.axis2.transport.tcp.TCPWorker.run(TCPWorker.java:68) 
     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) 

बाद Axis2 conf टीसीपी शुरू करने के लिए है

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

    <sequence name="fault"> 
     <makefault> 
      <code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/> 
      <reason value="Mediation failed."/> 
     </makefault> 
     <send/> 
    </sequence> 


    <proxy xmlns="http://ws.apache.org/ns/synapse" 
      name="TCPProxy" 
      transports="https,http" 
      statistics="disable" 
      trace="disable" 
      startOnLoad="true"> 
     <target> 
      <inSequence> 
       <log level="full"/> 
      </inSequence> 
      <outSequence> 
       <send/> 
      </outSequence> 
     </target> 
     <parameter name="transport.tcp.port">6060</parameter> 
     <parameter name="transport.tcp.contentType">application/xml</parameter> 
     <description/> 
    </proxy> 
</definitions> 
+0

फिक्स्ड व्याकरण और कोड – Tunaki

+0

स्वरूपण [ जांचें कि यह आपकी मदद करता है] (http://stackoverflow.com/questions/17362982/tcp-transport-in-proxy-wso2-esb) –

उत्तर

1

यह कोई प्रॉक्सी की तरह लगता है टीसीपी पोर्ट 6060 पर एक संदेश प्राप्त होने पर ईएसबी में सेवा मिल सकती है।

मैं WSO2 में टीसीपी परिवहन के लिए इस्तेमाल नहीं कर रहा हूँ, लेकिन मुझे आश्चर्य है अगर बजाय "https http" के "परिवहन करता है" आप में विशेषता प्रॉक्सी परिभाषा "टीसीपी" शामिल करना चाहिए:

<proxy xmlns="http://ws.apache.org/ns/synapse" 
      name="TCPProxy" 
      transports="tcp" 
      statistics="disable" 
      trace="disable" 
      startOnLoad="true"> 
     <target> 
      <inSequence> 
       <log level="full"/> 
      </inSequence> 
      <outSequence> 
       <send/> 
      </outSequence> 
     </target> 
     <parameter name="transport.tcp.port">6060</parameter> 
     <parameter name="transport.tcp.contentType">application/xml</parameter> 
     <description/> 
    </proxy> 
+0

आपका सुझाव उपयोगी था। परिवहन को 'टीसीपी' में बदलने के बाद मुझे axis2.conf से 'tcp' कॉन्फ़िगरेशन को हटाने की आवश्यकता है, अन्यथा यह काम नहीं कर रहा था – Raaghu

संबंधित मुद्दे