You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Joe Kutner (JIRA)" <ji...@apache.org> on 2006/07/25 17:30:29 UTC

[jira] Created: (SM-499) main.wsdl not accessible after deploying WSDL to servicemix-http component

main.wsdl not accessible after deploying WSDL to servicemix-http component
--------------------------------------------------------------------------

                 Key: SM-499
                 URL: https://issues.apache.org/activemq/browse/SM-499
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-http
    Affects Versions: 3.0-M1
            Reporter: Joe Kutner


When trying to deploy a Service Assembly with a WSDL to the servicemix-http component (as described on the servicemix-http page) the SA deploys OK, and the services are listed at 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 trying to access the WSDL (ex. http://localhost:8080/InOnly/?wsdl) the following error is returned:

     HTTP ERROR: 404
     No wsdl is available for this service
     RequestURI=/InOnly/main.wsdl

However, the WSDL can be accessed by using the JMX console to execute the getWsdl() method of the EndpointMBean.

An example case is a Service Assembly containing 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>

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), the WSDL is not added to the HttpEndpoint.wsdl HashMap because those two values were set (!= null).


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Resolved: (SM-499) main.wsdl not accessible after deploying WSDL to servicemix-http component

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-499?page=all ]

Guillaume Nodet resolved SM-499.
--------------------------------

    Fix Version/s: 3.0-M3
       Resolution: Fixed
         Assignee: Guillaume Nodet

Author: gnodet
Date: Wed Jul 26 14:20:14 2006
New Revision: 425841

URL: http://svn.apache.org/viewvc?rev=425841&view=rev
Log:
SM-499: main.wsdl not accessible after deploying WSDL to servicemix-http component

Added:
    incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/wsdl1/JbiEndpointSerializer.java
Modified:
    incubator/servicemix/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/wsdl1/JbiExtension.java
    incubator/servicemix/trunk/servicemix-components/src/main/java/org/apache/servicemix/components/http/HttpInvoker.java
    incubator/servicemix/trunk/servicemix-components/src/main/java/org/apache/servicemix/components/http/HttpsInvoker.java
    incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpEndpoint.java
    incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ConsumerProcessor.java
    incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ProviderProcessor.java
    incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/tools/PortTypeDecorator.java
    incubator/servicemix/trunk/servicemix-http/src/test/java/org/apache/servicemix/http/HttpConsumerTest.java
    incubator/servicemix/trunk/servicemix-http/src/test/java/org/apache/servicemix/http/HttpManagedTest.java
    incubator/servicemix/trunk/servicemix-http/src/test/java/org/apache/servicemix/http/HttpSoapTest.java
    incubator/servicemix/trunk/servicemix-http/src/test/java/org/apache/servicemix/http/security/HttpSecurityTest.java
    incubator/servicemix/trunk/servicemix-soap/src/main/java/org/apache/servicemix/soap/SoapEndpoint.java



> main.wsdl not accessible after deploying WSDL to servicemix-http component
> --------------------------------------------------------------------------
>
>                 Key: SM-499
>                 URL: https://issues.apache.org/activemq/browse/SM-499
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: 3.0-M1
>            Reporter: Joe Kutner
>         Assigned To: Guillaume Nodet
>             Fix For: 3.0-M3
>
>
> When trying to deploy a Service Assembly with a WSDL to the servicemix-http component (as described on the servicemix-http page) the SA deploys OK, and the services are listed at 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 trying to access the WSDL (ex. http://localhost:8080/InOnly/?wsdl) the following error is returned:
>      HTTP ERROR: 404
>      No wsdl is available for this service
>      RequestURI=/InOnly/main.wsdl
> However, the WSDL can be accessed by using the JMX console to execute the getWsdl() method of the EndpointMBean.
> An example case is a Service Assembly containing 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>
> 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), the WSDL is not added to the HttpEndpoint.wsdl HashMap because those two values were set (!= null).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira