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.