Publication of a consumer HTTP endpoint with classpath-provided WSDL file doesn't publish WSDL file ---------------------------------------------------------------------------------------------------
Key: SM-1039 URL: https://issues.apache.org/activemq/browse/SM-1039 Project: ServiceMix Issue Type: Bug Components: servicemix-http Environment: ServiceMix 3.1.1, Windows Reporter: Philipp Rossmanith Priority: Minor Trying to publish an HTTP consumer endpoint with a classpath-supplied WSDL connecting to a servicemix.xml-configured publisher, the WSDL file doesn't show at the corresponding URL http://localhost:8192/IMMessageNotificationService/main.wsdl. Proposed solution: ================ It seems the problem comes from the HttpEndpoint#getTargetPortType method. This method tries to find the *target* PortType. And the problem is that the target PortType (or interface QName) is not the same as the one exposed by servicemix-http. Somehow, they need to be matched. Maybe the getTargetPortType should be a series of if (portType == null && xxx) { ... } rather than if / else if. See also: ======== Thread http://www.nabble.com/servicemix-http---classpath-supplied-WSDL-file-not-visible-tf4286826s12049.html (subject: servicemix-http - classpath-supplied WSDL file not visible) Additional information: ================== The setup is: HTTP consumer EP --> publisher EP Deployment units have been created with Maven. Service and endpoint supplied in the servicemix-http xbean.xml*) match the ones supplied in the WSDL file**), setting the service name to <namespace prefix>:<WSDL service name> and setting the endpoint name to the value of the port's name. The WSDL file is present at the top-level in the ZIP-file for the SU. *) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:http="http://servicemix.apache.org/http/1.0" xmlns:mag="http://mag.icing.eu/notification/1.0" xmlns:csapi="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/noti fication/v2_0/service" xmlns:pub="http://iisys.icing.eu/publisher/1.0" xmlns:impl="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/notif ication/v2_0/service"> <classpath> <location>.</location> </classpath> <http:endpoint service="impl:IMMessageNotificationService" endpoint="IMMessageNotification" role="consumer" locationURI="http://0.0.0.0:8192/IMMessageNotificationService/" soap="true" wsdlResource="classpath:IMMessageNotification.wsdl" targetService="pub:IMMessagePublisher" targetEndpoint="ep" /> </beans> **) <wsdl:definitions targetNamespace="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/ notification/v2_0/service" ...> ... <wsdl:service name="IMMessageNotificationService"> <wsdl:port binding="impl:IMMessageNotificationSoapBinding" name="IMMessageNotification"> <wsdlsoap:address location="http://0.0.0.0:8192/IMMessageNotificationService/" /> </wsdl:port> </wsdl:service> ... </ wsdl:definitions> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.