On Nov 30, 2007 10:35 AM, Keeg2 <[EMAIL PROTECTED]> wrote:

>
> Hi,
>
> I'm trying to expose a WS in servicemix via the http-servicemix BC. To do
> so, I deploy 2 SU :
> - one as cosumer wich recieve client request
> - an other one as provider wich call my WS
>
> This configuration works fine with both WSDL and XBean deployment.
> However,
> each one has its own limitations :
>
> 1) WSDL deployment :
> a) I can't explicitly express the targetService. I use the following
> extension in my WSDL : <jbi:endpoint role="consumer"
> defaultMep='in-out'/>,
> and the attribut  targetService="sma:myService" don't work


Yeah, you should use the Xbean deployment instead.


>
> b) When I call my consumer BC, I get the following warning :
> ServiceName 
> ({http://servicemix.cz.apis.org}soapReciever<http://servicemix.cz.apis.org%7DsoapReciever>)
> specified for
> routing, but can't find it registered


This is the usual exception when the routing is not correctly defined.
Consumer endpoints usually use their own service name to find the target
endpoint.  In such case, you would need a JBI endpoint activated on another
component with the same service QName.


>
>
> 2) Xbean deployment
> a) my WSDL is never accessible via http://localhost:8912/soap/?wsdl . My
> decalration is:
> <beans xmlns:http="http://servicemix.apache.org/http/1.0";
>                xmlns:sma="http://servicemix.cz.apis.org";
>                xmlns:eip="http://servicemix.apache.org/eip/1.0";>
>        <http:endpoint
>                service="soapReciever"
>                endpoint="soapreciever"
>                targetService="sma:StatistiquesWGA"
>                role="consumer"
>                locationURI="http://localhost:8912/soap/";
>                defaultMep="http://www.w3.org/2004/08/wsdl/in-out";
>                soap="true"
>                soapVersion="1.1"
>                wsdlResource="classpath:StatistiquesWGA.wsdl"/>
>
> </beans>
>
> At DEBUG log level, I got this message :
>
> 09:49:36,295 | INFO  | main       | ServiceUnitLifeCycle     |
> framework.ServiceUnitLifeCycle   97 | Starting service unit:
> apisca-soapreciever-3.2
> 09:49:36,295 | DEBUG | main       | HttpComponent            |
> .common.BaseServiceUnitManager  137 | Starting service unit
> 09:49:36,499 | DEBUG | main       | HttpComponent            |
> e.servicemix.http.HttpEndpoint  220 | Service for targetService could not
> be
> found
> 09:49:36,499 | DEBUG | main       | HttpComponent            |
> e.servicemix.soap.SoapEndpoint  277 | Retrieving proxied endpoint
> definition
> 09:49:36,499 | DEBUG | main       | HttpComponent            |
> e.servicemix.soap.SoapEndpoint  294 | Could not retrieve endpoint for
> targetService
> 09:49:36,499 | DEBUG | main       | HttpComponent            |
> e.servicemix.soap.SoapEndpoint  309 | Could not retrieve endpoint for
> service/endpoint


It seems the wsdlResource attribute is correctly processed,  else you would
have something in the log.
The problems comes from a mismatch between the loaded wsdl and the target
endpoint.  The HTTP component tries to find the service description in the
wsdl corresponding to the endpoint and looks for it in the following order:
  * if there is no service and one porttype in the wsdl, use this one
  * looks for  a port Type with a name specified by "targetInterfaceName"
attribute
  * looks for a port specified by "targetService" and "targetEndpoint"
  * looks for a service specified by "targetService"
  * looks for a portType specified by "interfaceName"
  * looks for a service specified by "serviceName"

I guess the problem comes from a mismatch between your endpoint attributes
and the wsdl.


>
>
> 3) Mixed XBean and WDSL deployment don't work when the http consumer BC is
> deployed via WSDL. I think that the bus can't process implicit process due
> to bad WSDL knowledge on the provider side.
>

Not sure what you mean exactly here.  There is no relationship between two
different SUs and the all go through the NMR when exchanging messages.  If
it does not work, it means that some metadata is missing in the deployment,
or there is a mismatch between service names / interface names.


>
> Thanks for your help.
> --
> View this message in context:
> http://www.nabble.com/WSDL-vs-Xbean-deployment-tf4902143s12049.html#a14042415
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Reply via email to