Investigate the format of URLs representing external Web Services, some clean 
up seems to be necessary -- problems with resolving endpoints, communicating 
over SOAP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: SM-1139
                 URL: https://issues.apache.org/activemq/browse/SM-1139
             Project: ServiceMix
          Issue Type: Improvement
            Reporter: Bartosz Kowalewski


This is probably a general ServiceMix problem associated with addressing Web 
Services, resolving endpoints, and communicating over SOAP. Unfortunately I'm 
not familiar with the SM source code, so the issue is created in WSN2005 
section.

A comprehensive description is available at: 
http://www.nabble.com/WSN2005---SOAP---a-full-featured-external-WSN-client-tf4810818s12049.html#a13773231.

Summary of the sample scenario:

Aim: Subscribe an external WSN NotificationConsumer (communicating over SOAP) 
to WSN2005 SM component (http binding enabled - wsn-http-binding example). The 
client was build upon XFire, WSN Java stubs provided by ServiceMix (generated 
using XFire wsgen) and a Jetty WebServer instance. It was really difficult to 
discover what is the correct format for address of the consumer, sent inside 
the subscribe message. The Broker had problems with parsing the address and was 
unable to disseminate notification messages over SOAP.

The conclusions (consumer expects to be notified over SOAP):

   * when not using SOAP /raw HTTP/ the endpoint address has to end with slash, 
e.g. http://localhost:11111/wsn/NotificationConsumer/ 
(http://localhost:11111/wsn/NotificationConsumer is wrong - SM will fail to 
understand this URL) => you have to deploy the WS with a trailing slash in the 
name (NotificationConsumer/)

   * when using properties, you cannot use the trailing slash -  
http://localhost:11111/wsn/NotificationConsumer/?http.soap=true is wrong,  
http://localhost:11111/wsn/NotificationConsumer?http.soap=true is ok (but still 
it does not make SM use SOAP)

   * when using http.soap=true, you have to use http.soapVersion=1.x, e.g. 
http://localhost:11111/wsn/NotificationConsumer?http.soap=true&http.soapVersion=1.1
 . It does not work without the http.soapVersion=1.x property. 



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to