I would say it is a bug. Could you please raise a JIRA ?
As a workaround, you can use the xbean deployment and use the wsdlResource attribute to point to the wsdl in your SU. Cheers, Guillaume Nodet On 7/25/06, bamafirebird <[EMAIL PROTECTED]> wrote:
I have installed the servicemix-http component, and am trying to deploy a Service Assembly with a WSDL to it (as described http://www.servicemix.org/site/servicemix-http.html on the servicemix-http page ). The SA deploys OK, and the services are listed when I go to http://localhost:8080 Error 404 - Not Found. No service matched or handled this request. Known services are: * http://localhost:8080/InOnly * http://localhost:8080/InOut But when I try to access the WSDL (ex. http://localhost:8080/InOnly/?wsdl) I get the following error: HTTP ERROR: 404 No wsdl is available for this service RequestURI=/InOnly/main.wsdl However, I can get the WSDL by using the JMX console to execute the getWsdl() method of the EndpointMBean. My Service Assembly contains a JBI descriptior and a Service Unit with contents as follows: ./main.wsdl ./META-INF/jbi.xml The main.wsdl file has content as described on the servicemix-http page: <definitions name='Consumer' targetNamespace='http://http.servicemix.org/Test' xmlns:tns='http://http.servicemix.org/Test' xmlns:http='http://schemas.xmlsoap.org/wsdl/http/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:jbi='http://servicemix.org/wsdl/jbi/'> <portType name='ConsumerInterface'> </portType> <binding name='ConsumerSoapBinding' type='tns:ConsumerInterface'> <soap:binding transport="http"/> </binding> <binding name='ConsumerHttpBinding' type='tns:ConsumerInterface'> <http:binding verb="POST"></http:binding> </binding> <service name='ConsumerInOnly'> <port name='TestEndpoint' binding='tns:ConsumerSoapBinding'> <soap:address location="http://localhost:8080/InOnly"/> <jbi:endpoint role="consumer" defaultMep='in-only'/> </port> </service> <service name='ConsumerInOut'> <port name='TestEndpoint' binding='tns:ConsumerHttpBinding'> <http:address location="http://localhost:8080/InOut"/> <jbi:endpoint role="consumer" defaultMep='in-out'/> </port> </service> </definitions> Is my deployment package missing something? I can tell by stepping through in a debugger that the Endpoint.setDescription and Endpoint.setDefinition are being called by the Deployer. Then, when the Endpoint.activate is called (and in turn the SoapEndpoint.loadWsdl method), my WSDL is not added to the HttpEndpoint.wsdl HashMap because those two values were set (!= null). Is this behavior intended? Thank you -- View this message in context: http://www.nabble.com/WSDL-Deployment%3A-%22No-wsdl-is-available-for-this-service%22-tf1998652.html#a5486628 Sent from the ServiceMix - User forum at Nabble.com.
