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.

Reply via email to