You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Stefan Klinger <kl...@cs.york.ac.uk> on 2006/03/28 15:19:21 UTC

HttpComponent endpoint attributes

Hello,

I have successfully managed to expose a jsr181 component as an consumer 
endpoint of a httpcomponent using XBean. However, I need to specify the 
service and endpoint or otherwise I get an exception. However, the 
interfaceName is automatically produced by the jsr181 component and I 
was thinking that it should suffice to provide the interfaceName of the 
proxied endpoint?

I also wanted to inspect the exposed wsdl definition, however, when I go 
to "http://localhost:8150/Echo/?wsdl" I get
"No wsdl is available for this service". What am I doing wrong? The 
EchoService2 is the same as in the jsr181 tests.

Thanks,
Stefan

<sm:activationSpec>
      	<sm:component>
            <http:component>
            	<http:endpoints>
			<http:endpoint service="test:MyEchoService"
			 endpoint="myEcho"
            		 role="consumer" 
            		 soap="true"
            		 locationURI="http://localhost:8150/Echo/"  
            		 defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />        		               
            	</http:endpoints>
            </http:component>
        </sm:component>
      </sm:activationSpec>
      
      <sm:activationSpec service="test:MyEchoService" endpoint="myEcho">
      	<sm:component>
            <jsr181:component>
            	<jsr181:endpoints>
            		<jsr181:endpoint pojoClass="jsr181.EchoService2"
  			 annotations="none" />
            	</jsr181:endpoints>
            </jsr181:component>
        </sm:component>
      </sm:activationSpec> 




Re: HttpComponent endpoint attributes

Posted by Guillaume Nodet <gn...@gmail.com>.
You should be able to.
Can you send successfully a message to your SE using http ?
Looking at your config, i don't think it will work (see my previous
mail about the service and endpoint attributes).
If yes, try to change the log level to DEBUG and see if something wrong happens.

Cheers,
Guillaume Nodet

On 3/28/06, Stefan Klinger <kl...@cs.york.ac.uk> wrote:
> Thanks Guillaume, I can see the wsdl from there. I was just thinking
> whether it would be at all possible to have the wsdl exposed via http
> get, similar to Axis web services.
> Stefan
>
> Guillaume Nodet wrote:
>
> >To check if the wsdl defined for an endpoint, you should try to use
> >jconsole (or any other jmx console), find the mbean for the endpoint
> >and call the retrieveWSDL operation on it.  You will be able to
> >retrieve the wsdl for the jsr181 endpoint.
> >
> >FYI, the activationSpec attributes (service and endpoint) only works
> >for lightweight component (those inheriting from the PojoSupport
> >class).  For jsr181 endpoints, you can use the service and endpoint
> >attributes on the jsr181:endpoint element if you want to override
> >those generated by xfire.  I think that this is the root cause of your
> >problem.
> >
> >You can also look at the log files or jmx console to check the service
> >name / endpoint name of activated endpoints.
> >
> >Cheers,
> >Guillaume Nodet
> >
> >On 3/28/06, Stefan Klinger <kl...@cs.york.ac.uk> wrote:
> >
> >
> >>Hello,
> >>
> >>I have successfully managed to expose a jsr181 component as an consumer
> >>endpoint of a httpcomponent using XBean. However, I need to specify the
> >>service and endpoint or otherwise I get an exception. However, the
> >>interfaceName is automatically produced by the jsr181 component and I
> >>was thinking that it should suffice to provide the interfaceName of the
> >>proxied endpoint?
> >>
> >>I also wanted to inspect the exposed wsdl definition, however, when I go
> >>to "http://localhost:8150/Echo/?wsdl" I get
> >>"No wsdl is available for this service". What am I doing wrong? The
> >>EchoService2 is the same as in the jsr181 tests.
> >>
> >>Thanks,
> >>Stefan
> >>
> >><sm:activationSpec>
> >>        <sm:component>
> >>            <http:component>
> >>                <http:endpoints>
> >>                        <http:endpoint service="test:MyEchoService"
> >>                         endpoint="myEcho"
> >>                         role="consumer"
> >>                         soap="true"
> >>                         locationURI="http://localhost:8150/Echo/"
> >>                         defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> >>                </http:endpoints>
> >>            </http:component>
> >>        </sm:component>
> >>      </sm:activationSpec>
> >>
> >>      <sm:activationSpec service="test:MyEchoService" endpoint="myEcho">
> >>        <sm:component>
> >>            <jsr181:component>
> >>                <jsr181:endpoints>
> >>                        <jsr181:endpoint pojoClass="jsr181.EchoService2"
> >>                         annotations="none" />
> >>                </jsr181:endpoints>
> >>            </jsr181:component>
> >>        </sm:component>
> >>      </sm:activationSpec>
> >>
> >>
> >>
> >>
> >>
> >>
>
>

Re: HttpComponent endpoint attributes

Posted by Stefan Klinger <kl...@cs.york.ac.uk>.
Thanks Guillaume, I can see the wsdl from there. I was just thinking 
whether it would be at all possible to have the wsdl exposed via http 
get, similar to Axis web services.
Stefan

Guillaume Nodet wrote:

>To check if the wsdl defined for an endpoint, you should try to use
>jconsole (or any other jmx console), find the mbean for the endpoint
>and call the retrieveWSDL operation on it.  You will be able to
>retrieve the wsdl for the jsr181 endpoint.
>
>FYI, the activationSpec attributes (service and endpoint) only works
>for lightweight component (those inheriting from the PojoSupport
>class).  For jsr181 endpoints, you can use the service and endpoint
>attributes on the jsr181:endpoint element if you want to override
>those generated by xfire.  I think that this is the root cause of your
>problem.
>
>You can also look at the log files or jmx console to check the service
>name / endpoint name of activated endpoints.
>
>Cheers,
>Guillaume Nodet
>
>On 3/28/06, Stefan Klinger <kl...@cs.york.ac.uk> wrote:
>  
>
>>Hello,
>>
>>I have successfully managed to expose a jsr181 component as an consumer
>>endpoint of a httpcomponent using XBean. However, I need to specify the
>>service and endpoint or otherwise I get an exception. However, the
>>interfaceName is automatically produced by the jsr181 component and I
>>was thinking that it should suffice to provide the interfaceName of the
>>proxied endpoint?
>>
>>I also wanted to inspect the exposed wsdl definition, however, when I go
>>to "http://localhost:8150/Echo/?wsdl" I get
>>"No wsdl is available for this service". What am I doing wrong? The
>>EchoService2 is the same as in the jsr181 tests.
>>
>>Thanks,
>>Stefan
>>
>><sm:activationSpec>
>>        <sm:component>
>>            <http:component>
>>                <http:endpoints>
>>                        <http:endpoint service="test:MyEchoService"
>>                         endpoint="myEcho"
>>                         role="consumer"
>>                         soap="true"
>>                         locationURI="http://localhost:8150/Echo/"
>>                         defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>>                </http:endpoints>
>>            </http:component>
>>        </sm:component>
>>      </sm:activationSpec>
>>
>>      <sm:activationSpec service="test:MyEchoService" endpoint="myEcho">
>>        <sm:component>
>>            <jsr181:component>
>>                <jsr181:endpoints>
>>                        <jsr181:endpoint pojoClass="jsr181.EchoService2"
>>                         annotations="none" />
>>                </jsr181:endpoints>
>>            </jsr181:component>
>>        </sm:component>
>>      </sm:activationSpec>
>>
>>
>>
>>
>>    
>>


Re: HttpComponent endpoint attributes

Posted by Guillaume Nodet <gn...@gmail.com>.
To check if the wsdl defined for an endpoint, you should try to use
jconsole (or any other jmx console), find the mbean for the endpoint
and call the retrieveWSDL operation on it.  You will be able to
retrieve the wsdl for the jsr181 endpoint.

FYI, the activationSpec attributes (service and endpoint) only works
for lightweight component (those inheriting from the PojoSupport
class).  For jsr181 endpoints, you can use the service and endpoint
attributes on the jsr181:endpoint element if you want to override
those generated by xfire.  I think that this is the root cause of your
problem.

You can also look at the log files or jmx console to check the service
name / endpoint name of activated endpoints.

Cheers,
Guillaume Nodet

On 3/28/06, Stefan Klinger <kl...@cs.york.ac.uk> wrote:
> Hello,
>
> I have successfully managed to expose a jsr181 component as an consumer
> endpoint of a httpcomponent using XBean. However, I need to specify the
> service and endpoint or otherwise I get an exception. However, the
> interfaceName is automatically produced by the jsr181 component and I
> was thinking that it should suffice to provide the interfaceName of the
> proxied endpoint?
>
> I also wanted to inspect the exposed wsdl definition, however, when I go
> to "http://localhost:8150/Echo/?wsdl" I get
> "No wsdl is available for this service". What am I doing wrong? The
> EchoService2 is the same as in the jsr181 tests.
>
> Thanks,
> Stefan
>
> <sm:activationSpec>
>         <sm:component>
>             <http:component>
>                 <http:endpoints>
>                         <http:endpoint service="test:MyEchoService"
>                          endpoint="myEcho"
>                          role="consumer"
>                          soap="true"
>                          locationURI="http://localhost:8150/Echo/"
>                          defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>                 </http:endpoints>
>             </http:component>
>         </sm:component>
>       </sm:activationSpec>
>
>       <sm:activationSpec service="test:MyEchoService" endpoint="myEcho">
>         <sm:component>
>             <jsr181:component>
>                 <jsr181:endpoints>
>                         <jsr181:endpoint pojoClass="jsr181.EchoService2"
>                          annotations="none" />
>                 </jsr181:endpoints>
>             </jsr181:component>
>         </sm:component>
>       </sm:activationSpec>
>
>
>
>