2016-07-03 20 views
0

Ich habe ein Problem, von dem ich keine Ahnung habe, wie es gelöst werden kann. Ich bin auf WSB2 ESB 4.9.0.Create Proxy Service, der ein Themenereignis veröffentlicht/auslöst und Daten übergibt

Ich versuche, ein Thema über einen Proxy mit einem Ereignis aufzurufen. Dies ruft jedoch niemals den abonnierten Proxy an.

<?xml version="1.0" encoding="UTF-8"?> 
<proxy name="publishSubscribeTest" startOnLoad="true" trace="disable" 
    transports="http https" xmlns="http://ws.apache.org/ns/synapse"> 
    <target> 
    <inSequence> 
     <log level="custom"> 
     <property value="********************* START METHOD *********************" name="publishSubscribeTest"/> 
     </log> 

     <event topic="TestTopic"/> 

     <log level="custom"> 
     <property value="********************* END METHOD *********************" name="publishSubscribeTest"/> 
     </log> 
    </inSequence> 
    <outSequence> 
     <drop/> 
    </outSequence> 
    <faultSequence/> 
    </target> 
</proxy> 

Das Thema hat die folgenden Angaben:

Topic Name: TestTopic 
Permissions Details: (Everyone has permission to subscribe and publish) 
WS Subscription Details: Another custom proxy in WSO2 has been configured as WS Subscription Details. 

Als erste Proxy das Thema aufruft, sollte es den Proxy dieses Thema abonniert nennen. Es wird jedoch nie aufgerufen.

Dies ist der Proxy-Motiv genannt:

publishSubscribeTest = ***************:

<?xml version="1.0" encoding="UTF-8"?> 
<proxy name="proxyCalledByTopic" startOnLoad="true" trace="disable" 
    transports="https http" xmlns="http://ws.apache.org/ns/synapse"> 
    <target> 
    <inSequence> 
     <log level="custom"> 
     <property value="********************* START METHOD *********************" name="proxyCalledByTopic"/> 
     </log> 
    </inSequence> 
    <outSequence> 
     <send/> 
    </outSequence> 
    <faultSequence/> 
    </target> 
</proxy> 

Also das Protokoll so etwas wie sein sollte ****** ENDE METHODE ********************* proxyCalledByTopic = ****************** *** START METHODE ********************* publishSubscribeTest = ********************* START METHODE *********************

Allerdings ist es wie:

publishSubscribeTest = ********************* END VERFAHREN ********** *********** publishSubscribeTest = ********************* START METHODE ************** *******

Also ich verstehe, dass der Proxy von dem Thema in der Subskription aufgerufen wird nicht aufgerufen.

Irgendwelche Vorschläge? Irgendeine Hilfe?

Antwort

0

Nach einigen Versuchen war das Problem, warum die Pub-Sub das Ereignis nicht ausgelöst hat, aufgrund der Tatsache, dass Content-Header-Anforderungen nicht ordnungsgemäß von der eingehenden Anforderung an den Proxy-Dienst aufgefüllt wurde. Das Gleiche kann durch das Einrichten einer POST-API erreicht werden.

Sobald der Header des Inhaltstyps mit einem der folgenden Werte gefüllt ist, begannen die Pub/Sub-Ereignisse zu arbeiten.

Content-Type: application/json 
Content-Type: application/xml 

Probe Beiträge: XML

POST /TriggerTopic HTTP/1.1 
Host: 10.224.234.34:8280 
Content-Type: application/xml 
Cache-Control: no-cache 
Postman-Token: f60c206c-a38e-ed2d-46a0-b051304247be 

<?xml version="1.0" encoding="UTF-8"?> 
<note> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Dont forget me this weekend from postman via API</body> 
</note> 

Probe Beitrag JSON

POST /TriggerTopic HTTP/1.1 
Host: 10.224.234.34:8280 
Content-Type: application/json 
Cache-Control: no-cache 
Postman-Token: 3453ddc5-a279-203a-fecf-38e81bd3ba8b 

{"value":"some value"}