You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Alessio D'Innocenti <ka...@katamail.com> on 2006/07/20 12:10:47 UTC
External Webservices binding (the answer)
After many, many, too many attempts, finally I have understood how to
expose external webservice, that is how to proxy one or more webservices
(wsdl included).
(servicemix.xml file is attached)
Suppose I have two webservice to proxy at urls
http://pc-webservice:8080/axis/services/AxisWebservice
http://pc-webservice2:8080/xfire/services/XFireWebservice
1) I have to connect the wsdl and the remote webservices to the
endpoints (providers)
<http:endpoint service="ns1:AxisWebservice"
endpoint="axisWebserviceEP"
targetService="ns1:AxisWebservice"
role="provider"
locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
/>
<http:endpoint service="ns2:XFireWebservice"
endpoint="xfireWebserviceEP"
targetService="ns2:XFireWebservice"
role="provider"
locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
wsdlResource="http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
/>
1) I have to make a connector for riceiving requests form clients
(consumers). I used http-component to make this:
<http:endpoint
service="ns1:AxisWebservice"
endpoint="axisWebserviceEP"
targetService="myns:routerForAxis"
role="consumer" soap="true"
targetInterfaceName="ns1:AxisWebservicePortType"
locationURI="http://localhost:8080/services/AxisService/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
<http:endpoint service="ns2:XFireWebservice"
endpoint="xfireWebserviceEP"
targetService="myns:routerForXFire"
role="consumer" soap="true"
targetInterfaceName="ns1:XFireWebserviceSEI"
locationURI="http://172.30.10.183:8888/services/XFireService/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
3) I have to create an invoker for the webservice
<sm:activationSpec componentName="axisServiceComponent"
service="myns:targetForAxis" endpoint="axisService">
<sm:component>
<bean
class="org.apache.servicemix.components.saaj.SaajBinding">
<property name="soapAction" value="" />
<property name="soapEndpoint">
<bean class="javax.xml.messaging.URLEndpoint">
<constructor-arg
value="http://pc-webservice:8080/axis/services/AxisWebservice" />
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="xfireServiceComponent"
service="myns:targetForXFire" endpoint="xfireService">
<sm:component>
<bean
class="org.apache.servicemix.components.saaj.SaajBinding">
<property name="soapAction" value="" />
<property name="soapEndpoint">
<bean class="javax.xml.messaging.URLEndpoint">
<constructor-arg
value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
4) Now let's create a service for redirecting the request, for example
the wireTrap router.
<sm:activationSpec componentName="wireTrapAxis">
<sm:component>
<eip:component>
<eip:endpoints>
<eip:wire-tap endpoint="wireTrapAxisEndpoint"
service="myns:axisWireTrap">
<eip:target>
<eip:exchange-target
service="myns:targetForAxis" />
</eip:target>
<eip:outListener>
<eip:exchange-target
service="myns:trace" />
</eip:outListener>
</eip:wire-tap>
</eip:endpoints>
</eip:component>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="wireTrapXFire">
<sm:component>
<eip:component>
<eip:endpoints>
<eip:wire-tap endpoint="wireTrapXFireEndpoint"
service="myns:xfireWireTrap">
<eip:target>
<eip:exchange-target
service="myns:targetForXFire" />
</eip:target>
<eip:outListener>
<eip:exchange-target
service="myns:trace" />
</eip:outListener>
</eip:wire-tap>
</eip:endpoints>
</eip:component>
</sm:component>
</sm:activationSpec>
The myns:trace service is simply a logger components that log messages
5) The chain is finished now we have the two external webservices
exposed at urls
http://localhost:8080/services/AxisService/
http://localhost:8080/services/XFireService/
and their wsdl
http://localhost:8080/services/AxisService?wsdl
http://localhost:8080/services/XFireService?wsdl
6) complete listing of servicemix.xml and some explanation
<!-- Namespaces of the webservices wsdl must match the local namespaces
of the servicemix local services.
Take a look at the ns1 and ns2 namespaces.
You can retrieve this namespaces from the first line of the wsdl
document
as attribute of the root tag definitions.
<definitions name="AxisWebservice"
targetNamespace="http://axis.webservice.namespace">
The myns namespace is a user choosen namespace for dividing external
service from servicemix internal services
-->
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:eip="http://servicemix.apache.org/eip/1.0"
xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:ns1="http://axis.webservice.namespace"
xmlns:ns2="http://xfire.webservice.namespace"
xmlns:myns="http://myNameSpace/servicemix/1.0">
<!-- the JBI container -->
<sm:container id="jbi" useMBeanServer="true"
createMBeanServer="true" dumpStats="true" statsInterval="10">
<sm:activationSpecs>
<sm:activationSpec componentName="provider">
<sm:component>
<http:component>
<http:endpoints>
<!-- REMEBER: Namespaces of the webservices
wsdl must match the local
namespaces of the servicemix local services.
You can retrieve this namespace from the
first line of the wsdl document
as attribute of the root tag definitions.
<definitions name="AxisWebservice"
targetNamespace="http://axis.webservice.namespace">
The name of the local servicemix service
and targetService
(service="ns1:AxisWebservice"
targetService="ns1:AxisWebservice")
must match the name of the webservice.
This information is in the wsdl too, as
attribute of tag <service
name="AxisWebservice"> (at the end of wsdl)
The endpoint name
(endpoint="axisWebserviceEP") is a your choice.
The role must be provider (role="provider")
The wsdlResource must point to the wsdl
definition
(wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl")
The locationURI is the address where the
webservice is listening.
(locationURI="http://pc-webservice:8080/axis/services/AxisWebservice")
Also this can be retrieved from wsdl as
attribute of tag
<wsdlsoap:address
location="http://pc-webservice:8080/axis/services/AxisWebservice"/>
at the end of wsdl
-->
<http:endpoint service="ns1:AxisWebservice"
endpoint="axisWebserviceEP"
targetService="ns1:AxisWebservice"
role="provider"
locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
/>
<http:endpoint service="ns2:XFireWebservice"
endpoint="xfireWebserviceEP"
targetService="ns2:XFireWebservice"
role="provider"
locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
wsdlResource="http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
/>
</http:endpoints>
</http:component>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="consumer">
<sm:component>
<http:component>
<http:endpoints>
<!-- The name of the local servicemix
service and endpoint must match the linked provider http:endpoint
(service="ns1:AxisWebservice"
endpoint="axisWebserviceEP")
The role must be consumer (role="consumer")
The soap attribute must be true for
compliant wsdl (soap="true")
The locationURI is the address where
servicemix must expose the webservice.
(locationURI="http://localhost:8080/services/AxisService/")
The targetInterface name is the name of
the interface to expose.
You can retrieve this from wsdl as
attribute of tag <portType name="AxisWebservicePortType">
in the middle of wsdl.
The defaultMep attribute is for
specifying if the endpoint is for in-out (wait for response)
(defaultMep="http://www.w3.org/2004/08/wsdl/in-out")
The targetService is the servicemix
local service to forwarding received message
(targetService="myns:routerForAxis")
-->
<http:endpoint service="ns1:AxisWebservice"
endpoint="axisWebserviceEP"
targetService="myns:routerForAxis"
role="consumer" soap="true"
targetInterfaceName="ns1:AxisWebservicePortType"
locationURI="http://localhost:8080/services/AxisService/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
<http:endpoint service="ns2:XFireWebservice"
endpoint="xfireWebserviceEP"
targetService="myns:routerForXFire"
role="consumer" soap="true"
targetInterfaceName="ns1:XFireWebserviceSEI"
locationURI="http://172.30.10.183:8888/services/XFireService/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
</http:endpoints>
</http:component>
</sm:component>
</sm:activationSpec>
<!-- This component invokes the remote service.
The soapAction property is the default soapAction.
Without this property set no SOAPAction header is addes
and some
webservices providers (like Axis) could not work -->
<sm:activationSpec componentName="axisServiceComponent"
service="myns:targetForAxis" endpoint="axisService">
<sm:component>
<bean
class="org.apache.servicemix.components.saaj.SaajBinding">
<property name="soapAction" value="" />
<property name="soapEndpoint">
<bean
class="javax.xml.messaging.URLEndpoint">
<constructor-arg
value="http://pc-webservice:8080/axis/services/AxisWebservice" />
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="xfireServiceComponent"
service="myns:targetForXFire" endpoint="xfireService">
<sm:component>
<bean
class="org.apache.servicemix.components.saaj.SaajBinding">
<property name="soapAction" value="" />
<property name="soapEndpoint">
<bean
class="javax.xml.messaging.URLEndpoint">
<constructor-arg
value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
<!-- This is a simple trace component to log messages routed
here -->
<sm:activationSpec componentName="trace"
service="int:trace">
<sm:component>
<bean xmlns="http://xbean.org/schemas/spring/1.0"
class="org.apache.servicemix.components.util.TraceComponent" />
</sm:component>
</sm:activationSpec>
<!-- The routing services -->
<sm:activationSpec componentName="wireTrapAxis">
<sm:component>
<eip:component>
<eip:endpoints>
<eip:wire-tap
endpoint="wireTrapAxisEndpoint"
service="myns:routerForAxis">
<eip:target>
<eip:exchange-target
service="myns:targetForAxis" />
</eip:target>
<eip:outListener>
<eip:exchange-target
service="myns:trace" />
</eip:outListener>
</eip:wire-tap>
</eip:endpoints>
</eip:component>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="wireTrapXFire">
<sm:component>
<eip:component>
<eip:endpoints>
<eip:wire-tap
endpoint="wireTrapXFireEndpoint"
service="myns:routerForXFire">
<eip:target>
<eip:exchange-target
service="myns:targetForXFire" />
</eip:target>
<eip:outListener>
<eip:exchange-target
service="myns:trace" />
</eip:outListener>
</eip:wire-tap>
</eip:endpoints>
</eip:component>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:container>
</beans>
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
The most reliable way to expose a WSDL is to use the
wsdlResource to point to a WSDL which is deployed in the
HTTP SU. The WSDL generation from the target service
may not work in some cases.
On 1/13/07, M. Tost <do...@gmx.de> wrote:
>
> Hi,
>
> I've still run into problems during invocation of an external Web service.
>
> First, SaajBinding omits the Soap header of the response, which is need by
> the integrating applications.
> Second, it omits additional XML elements in the Soap body. These are
> referenced by the Response element.
>
> Sure, I've tried to invoke the service directly by an http provider
> endpoint. The invocation doesn't work, yet. (I will check my configuration
> and the forum for a solution)
>
> Short, my question: Does SMX support such response messages as described
> above? Is the http provider endpoint stable, in many use cases?
> (As i see, for example I still need "targetService" for generation of a wsdl
> at a linked consumer endpoint, which only routes the message forward)
>
> Cheers,
> Markus
>
>
> gnodet wrote:
> >
> >
> > I have a few remarks:
> > * The provider endpoints are not used in this example as the eip routers
> > redirect to the saaj bindings
> > you can use them instead of the saaj bindings by switching the
> > <eip:exchange-target service="myns:targetForAxis" /> on the eip
> > routers
> > to
> > <eip:exchange-target service="ns1:AxisWebservice" />
> > * On the consumer definitions, the targetInterfaceName is not needed and
> > will not be used as the
> > targetServiceName is specified
> > * On the http providers endpoint, the targetService is not used (this is
> > only for consumers)
> >
> > Cheers,
> > Guillaume Nodet
> >
> > On 7/20/06, Alessio D'Innocenti <ka...@katamail.com> wrote:
> >>
> >> After many, many, too many attempts, finally I have understood how to
> >> expose external webservice, that is how to proxy one or more webservices
> >> (wsdl included).
> >> (servicemix.xml file is attached)
> >
>
> --
> View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463s12049.html#a8315051
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/
Re: External Webservices binding (the answer)
Posted by "M. Tost" <do...@gmx.de>.
Hi,
I've still run into problems during invocation of an external Web service.
First, SaajBinding omits the Soap header of the response, which is need by
the integrating applications.
Second, it omits additional XML elements in the Soap body. These are
referenced by the Response element.
Sure, I've tried to invoke the service directly by an http provider
endpoint. The invocation doesn't work, yet. (I will check my configuration
and the forum for a solution)
Short, my question: Does SMX support such response messages as described
above? Is the http provider endpoint stable, in many use cases?
(As i see, for example I still need "targetService" for generation of a wsdl
at a linked consumer endpoint, which only routes the message forward)
Cheers,
Markus
gnodet wrote:
>
>
> I have a few remarks:
> * The provider endpoints are not used in this example as the eip routers
> redirect to the saaj bindings
> you can use them instead of the saaj bindings by switching the
> <eip:exchange-target service="myns:targetForAxis" /> on the eip
> routers
> to
> <eip:exchange-target service="ns1:AxisWebservice" />
> * On the consumer definitions, the targetInterfaceName is not needed and
> will not be used as the
> targetServiceName is specified
> * On the http providers endpoint, the targetService is not used (this is
> only for consumers)
>
> Cheers,
> Guillaume Nodet
>
> On 7/20/06, Alessio D'Innocenti <ka...@katamail.com> wrote:
>>
>> After many, many, too many attempts, finally I have understood how to
>> expose external webservice, that is how to proxy one or more webservices
>> (wsdl included).
>> (servicemix.xml file is attached)
>
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463s12049.html#a8315051
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Kruttik <kr...@gmail.com>.
Hi,
I am pretty new to servicemix. I have a SA deployed on the lw-container
which is exactly similar to the loan-broker example. I need a way to call a
web-service outside the servicemix container. The above example seems to
create a consumer and an invoker. In my case the invoker would be a service
unit belonging to the SA deployed on the lw-container.
Heres the flow i would like to have:
ActiveMQ jms->service unit->webservice
invoker->werservice-provider->external-service.
thanks.
gnodet wrote:
>
> Nice post, this is worth a wiki page -- whenever you want ;)
>
> I have a few remarks:
> * The provider endpoints are not used in this example as the eip routers
> redirect to the saaj bindings
> you can use them instead of the saaj bindings by switching the
> <eip:exchange-target service="myns:targetForAxis" /> on the eip
> routers
> to
> <eip:exchange-target service="ns1:AxisWebservice" />
> * On the consumer definitions, the targetInterfaceName is not needed and
> will not be used as the
> targetServiceName is specified
> * On the http providers endpoint, the targetService is not used (this is
> only for consumers)
>
> Cheers,
> Guillaume Nodet
>
> On 7/20/06, Alessio D'Innocenti <ka...@katamail.com> wrote:
>>
>> After many, many, too many attempts, finally I have understood how to
>> expose external webservice, that is how to proxy one or more webservices
>> (wsdl included).
>> (servicemix.xml file is attached)
>>
>> Suppose I have two webservice to proxy at urls
>> http://pc-webservice:8080/axis/services/AxisWebservice
>> http://pc-webservice2:8080/xfire/services/XFireWebservice
>>
>> 1) I have to connect the wsdl and the remote webservices to the
>> endpoints (providers)
>>
>> <http:endpoint service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP"
>> targetService="ns1:AxisWebservice"
>> role="provider"
>>
>> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>>
>> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
>> />
>> <http:endpoint service="ns2:XFireWebservice"
>> endpoint="xfireWebserviceEP"
>> targetService="ns2:XFireWebservice"
>> role="provider"
>>
>> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>>
>> wsdlResource="
>> http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
>> />
>>
>> 1) I have to make a connector for riceiving requests form clients
>> (consumers). I used http-component to make this:
>>
>> <http:endpoint
>> service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP"
>> targetService="myns:routerForAxis"
>> role="consumer" soap="true"
>>
>> targetInterfaceName="ns1:AxisWebservicePortType"
>>
>> locationURI="http://localhost:8080/services/AxisService/"
>>
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>> <http:endpoint service="ns2:XFireWebservice"
>> endpoint="xfireWebserviceEP"
>> targetService="myns:routerForXFire"
>> role="consumer" soap="true"
>>
>>
>> targetInterfaceName="ns1:XFireWebserviceSEI"
>>
>> locationURI="http://172.30.10.183:8888/services/XFireService/"
>>
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>>
>> 3) I have to create an invoker for the webservice
>>
>> <sm:activationSpec componentName="axisServiceComponent"
>> service="myns:targetForAxis" endpoint="axisService">
>> <sm:component>
>> <bean
>> class="org.apache.servicemix.components.saaj.SaajBinding">
>> <property name="soapAction" value="" />
>> <property name="soapEndpoint">
>> <bean
>> class="javax.xml.messaging.URLEndpoint">
>> <constructor-arg
>> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>> <sm:activationSpec componentName="xfireServiceComponent"
>> service="myns:targetForXFire" endpoint="xfireService">
>> <sm:component>
>> <bean
>> class="org.apache.servicemix.components.saaj.SaajBinding">
>> <property name="soapAction" value="" />
>> <property name="soapEndpoint">
>> <bean
>> class="javax.xml.messaging.URLEndpoint">
>> <constructor-arg
>> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>>
>> 4) Now let's create a service for redirecting the request, for example
>> the wireTrap router.
>>
>> <sm:activationSpec componentName="wireTrapAxis">
>> <sm:component>
>> <eip:component>
>> <eip:endpoints>
>> <eip:wire-tap endpoint="wireTrapAxisEndpoint"
>> service="myns:axisWireTrap">
>> <eip:target>
>> <eip:exchange-target
>> service="myns:targetForAxis" />
>> </eip:target>
>> <eip:outListener>
>> <eip:exchange-target
>> service="myns:trace" />
>> </eip:outListener>
>> </eip:wire-tap>
>> </eip:endpoints>
>> </eip:component>
>> </sm:component>
>> </sm:activationSpec>
>> <sm:activationSpec componentName="wireTrapXFire">
>> <sm:component>
>> <eip:component>
>> <eip:endpoints>
>> <eip:wire-tap
>> endpoint="wireTrapXFireEndpoint"
>> service="myns:xfireWireTrap">
>> <eip:target>
>> <eip:exchange-target
>> service="myns:targetForXFire" />
>> </eip:target>
>> <eip:outListener>
>> <eip:exchange-target
>> service="myns:trace" />
>> </eip:outListener>
>> </eip:wire-tap>
>> </eip:endpoints>
>> </eip:component>
>> </sm:component>
>> </sm:activationSpec>
>>
>> The myns:trace service is simply a logger components that log messages
>>
>> 5) The chain is finished now we have the two external webservices
>> exposed at urls
>> http://localhost:8080/services/AxisService/
>> http://localhost:8080/services/XFireService/
>>
>> and their wsdl
>>
>> http://localhost:8080/services/AxisService?wsdl
>> http://localhost:8080/services/XFireService?wsdl
>>
>> 6) complete listing of servicemix.xml and some explanation
>>
>> <!-- Namespaces of the webservices wsdl must match the local namespaces
>> of the servicemix local services.
>> Take a look at the ns1 and ns2 namespaces.
>> You can retrieve this namespaces from the first line of the wsdl
>> document
>> as attribute of the root tag definitions.
>> <definitions name="AxisWebservice"
>> targetNamespace="http://axis.webservice.namespace">
>>
>> The myns namespace is a user choosen namespace for dividing external
>> service from servicemix internal services
>> -->
>>
>> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
>> xmlns:eip="http://servicemix.apache.org/eip/1.0"
>> xmlns:http="http://servicemix.apache.org/http/1.0"
>> xmlns:ns1="http://axis.webservice.namespace"
>> xmlns:ns2="http://xfire.webservice.namespace"
>> xmlns:myns="http://myNameSpace/servicemix/1.0">
>>
>> <!-- the JBI container -->
>> <sm:container id="jbi" useMBeanServer="true"
>> createMBeanServer="true" dumpStats="true" statsInterval="10">
>> <sm:activationSpecs>
>> <sm:activationSpec componentName="provider">
>> <sm:component>
>> <http:component>
>> <http:endpoints>
>> <!-- REMEBER: Namespaces of the webservices
>> wsdl must match the local
>> namespaces of the servicemix local
>> services.
>> You can retrieve this namespace from the
>> first line of the wsdl document
>> as attribute of the root tag definitions.
>> <definitions name="AxisWebservice"
>> targetNamespace="http://axis.webservice.namespace">
>>
>> The name of the local servicemix service
>> and targetService
>> (service="ns1:AxisWebservice"
>> targetService="ns1:AxisWebservice")
>> must match the name of the webservice.
>> This information is in the wsdl too, as
>> attribute of tag <service
>> name="AxisWebservice"> (at the end of wsdl)
>>
>> The endpoint name
>> (endpoint="axisWebserviceEP") is a your choice.
>>
>> The role must be provider
>> (role="provider")
>>
>> The wsdlResource must point to the wsdl
>> definition
>>
>> (wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl
>> ")
>>
>> The locationURI is the address where the
>> webservice is listening.
>>
>> (locationURI="http://pc-webservice:8080/axis/services/AxisWebservice")
>> Also this can be retrieved from wsdl as
>> attribute of tag
>> <wsdlsoap:address
>> location="http://pc-webservice:8080/axis/services/AxisWebservice"/>
>> at the end of wsdl
>> -->
>> <http:endpoint service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP"
>> targetService="ns1:AxisWebservice"
>> role="provider"
>>
>> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>>
>> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
>> />
>> <http:endpoint service="ns2:XFireWebservice"
>> endpoint="xfireWebserviceEP"
>> targetService="ns2:XFireWebservice"
>> role="provider"
>>
>> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>>
>> wsdlResource="
>> http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
>> />
>> </http:endpoints>
>> </http:component>
>> </sm:component>
>> </sm:activationSpec>
>>
>> <sm:activationSpec componentName="consumer">
>> <sm:component>
>> <http:component>
>> <http:endpoints>
>> <!-- The name of the local servicemix
>> service and endpoint must match the linked provider http:endpoint
>> (service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP")
>>
>> The role must be consumer
>> (role="consumer")
>>
>> The soap attribute must be true for
>> compliant wsdl (soap="true")
>>
>> The locationURI is the address where
>> servicemix must expose the webservice.
>>
>> (locationURI="http://localhost:8080/services/AxisService/")
>>
>> The targetInterface name is the name of
>> the interface to expose.
>> You can retrieve this from wsdl as
>> attribute of tag <portType name="AxisWebservicePortType">
>> in the middle of wsdl.
>>
>> The defaultMep attribute is for
>> specifying if the endpoint is for in-out (wait for response)
>>
>> (defaultMep="http://www.w3.org/2004/08/wsdl/in-out")
>>
>> The targetService is the servicemix
>> local service to forwarding received message
>> (targetService="myns:routerForAxis")
>> -->
>> <http:endpoint service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP"
>> targetService="myns:routerForAxis"
>> role="consumer" soap="true"
>>
>> targetInterfaceName="ns1:AxisWebservicePortType"
>>
>> locationURI="http://localhost:8080/services/AxisService/"
>>
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>> <http:endpoint service="ns2:XFireWebservice"
>> endpoint="xfireWebserviceEP"
>> targetService="myns:routerForXFire"
>> role="consumer" soap="true"
>>
>>
>> targetInterfaceName="ns1:XFireWebserviceSEI"
>>
>> locationURI="http://172.30.10.183:8888/services/XFireService/"
>>
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>> </http:endpoints>
>> </http:component>
>> </sm:component>
>> </sm:activationSpec>
>>
>> <!-- This component invokes the remote service.
>> The soapAction property is the default soapAction.
>> Without this property set no SOAPAction header is addes
>> and some
>> webservices providers (like Axis) could not work -->
>> <sm:activationSpec componentName="axisServiceComponent"
>> service="myns:targetForAxis" endpoint="axisService">
>> <sm:component>
>> <bean
>>
>> class="org.apache.servicemix.components.saaj.SaajBinding">
>> <property name="soapAction" value="" />
>> <property name="soapEndpoint">
>> <bean
>> class="javax.xml.messaging.URLEndpoint">
>> <constructor-arg
>>
>> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>> <sm:activationSpec componentName="xfireServiceComponent"
>> service="myns:targetForXFire" endpoint="xfireService">
>> <sm:component>
>> <bean
>>
>> class="org.apache.servicemix.components.saaj.SaajBinding">
>> <property name="soapAction" value="" />
>> <property name="soapEndpoint">
>> <bean
>> class="javax.xml.messaging.URLEndpoint">
>> <constructor-arg
>>
>> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>>
>> <!-- This is a simple trace component to log messages routed
>> here -->
>> <sm:activationSpec componentName="trace"
>> service="int:trace">
>> <sm:component>
>> <bean xmlns="http://xbean.org/schemas/spring/1.0"
>>
>> class="org.apache.servicemix.components.util.TraceComponent" />
>> </sm:component>
>> </sm:activationSpec>
>>
>> <!-- The routing services -->
>> <sm:activationSpec componentName="wireTrapAxis">
>> <sm:component>
>> <eip:component>
>> <eip:endpoints>
>> <eip:wire-tap
>> endpoint="wireTrapAxisEndpoint"
>> service="myns:routerForAxis">
>> <eip:target>
>> <eip:exchange-target
>> service="myns:targetForAxis" />
>> </eip:target>
>> <eip:outListener>
>> <eip:exchange-target
>> service="myns:trace" />
>> </eip:outListener>
>> </eip:wire-tap>
>> </eip:endpoints>
>> </eip:component>
>> </sm:component>
>> </sm:activationSpec>
>> <sm:activationSpec componentName="wireTrapXFire">
>> <sm:component>
>> <eip:component>
>> <eip:endpoints>
>> <eip:wire-tap
>> endpoint="wireTrapXFireEndpoint"
>> service="myns:routerForXFire">
>> <eip:target>
>> <eip:exchange-target
>> service="myns:targetForXFire" />
>> </eip:target>
>> <eip:outListener>
>> <eip:exchange-target
>> service="myns:trace" />
>> </eip:outListener>
>> </eip:wire-tap>
>> </eip:endpoints>
>> </eip:component>
>> </sm:component>
>> </sm:activationSpec>
>> </sm:activationSpecs>
>> </sm:container>
>> </beans>
>>
>>
>>
>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463s12049.html#a7483343
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: External Webservices binding (the answer)
Posted by yangf <fa...@raytheon.com>.
Thanks Guillaume.
I still could not get my consumer work even removing soap=true. I got
different error
====
12:59:47,241 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=ManagementContext
12:59:47,281 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=EnvironmentContext
12:59:47,291 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=Registry
12:59:47,391 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=DefaultBroker
12:59:47,461 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 1008 | Activating component for:
[container=ServiceMix,name=#SubscriptionManager#] with service: null
component: org.apache.servicemix.jbi.nmr.SubscriptionManager@18b8914
12:59:47,471 | INFO | main | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 184 | Initializing component:
#SubscriptionManager#
12:59:47,671 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=InstallationService
12:59:47,681 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=DeploymentService
12:59:47,681 | INFO | main | DeploymentService |
bi.framework.DeploymentService 683 | Restoring service assemblies
12:59:47,691 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=AutoDeploymentService
12:59:47,711 | DEBUG | main | AutoDeploymentService |
ramework.AutoDeploymentService 564 | State file doesn't exist:
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install.xml
12:59:47,711 | DEBUG | main | AutoDeploymentService |
ramework.AutoDeploymentService 564 | State file doesn't exist:
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy.xml
12:59:47,711 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=AdminCommandsService
12:59:47,731 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 538 | ServiceMix JBI Container
(http://servicemix.org/) name: ServiceMix running version: 3.0-SNAPSHOT
12:59:47,731 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 1008 | Activating component for:
[container=ServiceMix,name=ID:L71037263-4052-1155142786660-0:0] with
service: null component:
org.apache.servicemix.http.HttpSpringComponent@691dee
12:59:47,731 | INFO | main | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 184 | Initializing component:
ID:L71037263-4052-1155142786660-0:0
12:59:47,731 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 103 | Initializing component
12:59:47,781 | DEBUG | main | JBIContainer |
mix.jbi.container.JBIContainer 654 | No transaction manager found from
naming context: remaining name: java:appserver/TransactionManager
12:59:47,892 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 110 | Component initialized
12:59:47,892 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 195 | Starting component
12:59:47,942 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | Logging to
org.slf4j.impl.JCLLoggerAdapter@10deb5f via org.mortbay.log.Slf4jLog
12:59:47,942 | DEBUG | main | HttpSpringComponent |
e.servicemix.soap.SoapEndpoint 240 | Retrieving proxied endpoint definition
12:59:47,942 | DEBUG | main | HttpSpringComponent |
e.servicemix.soap.SoapEndpoint 257 | Could not retrieve endpoint for
targetService
12:59:47,942 | DEBUG | main | HttpSpringComponent |
e.servicemix.soap.SoapEndpoint 272 | Could not retrieve endpoint for
service/endpoint
12:59:48,032 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | jetty 6.0.0beta15
12:59:48,052 | DEBUG | main | ServerManager |
erverManager$ThreadPoolWrapper 369 | Dispatching job:
org.mortbay.jetty.AbstractConnector$Acceptor@3afb99
12:59:48,062 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | Started SelectChannelConnector @
L71037263.us.ray.com:8912
12:59:53,620 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @
L71037263.us.ray.com:8912 | ServerManager |
erverManager$ThreadPoolWrapper 369 | Dispatching job:
HEP@25537913[d=true,io=0,w=true,b=0|0]
12:59:53,720 | WARN | btpool0-1 | log |
rg.slf4j.impl.JCLLoggerAdapter 346 | EXCEPTION
javax.servlet.ServletException: Failed to process request:
javax.jbi.messaging.MessagingException: Do not understand pattern: null
at
org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:542)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:145)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.mortbay.jetty.Server.handle(Server.java:245)
at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:365)
at org.mortbay.jetty.HttpConnection.access$1500(HttpConnection.java:38)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:623)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:610)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:196)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:296)
at
org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoint.run(SelectChannelConnector.java:740)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:435)
12:59:53,730 | WARN | btpool0-1 | log |
rg.slf4j.impl.JCLLoggerAdapter 346 | Nested in
javax.servlet.ServletException: Failed to process request:
javax.jbi.messaging.MessagingException: Do not understand pattern: null:
javax.jbi.messaging.MessagingException: Do not understand pattern: null
at
org.apache.servicemix.jbi.messaging.MessageExchangeFactoryImpl.createExchange(MessageExchangeFactoryImpl.java:92)
at
org.apache.servicemix.soap.SoapHelper.createExchange(SoapHelper.java:167)
at org.apache.servicemix.soap.SoapHelper.onReceive(SoapHelper.java:86)
at
org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:161)
at
org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:542)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:145)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.mortbay.jetty.Server.handle(Server.java:245)
at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:365)
at org.mortbay.jetty.HttpConnection.access$1500(HttpConnection.java:38)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:623)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:610)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:196)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:296)
at
org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoint.run(SelectChannelConnector.java:740)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:435)
===
not sure what I did wrong in consumer. any idea on it?? my updated
configuration
===
<sm:activationSpecs>
<sm:activationSpec>
<sm:component>
<http:component>
<http:endpoints>
<http:endpoint
service="foo:CatalogWebService"
endpoint="catalogWebServiceEP"
role="provider"
soap="true"
locationURI="http://138.125.32.77:7001/mdf/CatalogWebService"
wsdlResource="http://138.125.32.77:7001/mdf/CatalogWebService?WSDL" />
<http:endpoint
service="foo:CatalogWebServiceReceiver"
endpoint="catalogWebServiceReceiverEP"
targetService="foo:CatalogWebService"
role="consumer"
locationURI="http://L71037263.us.ray.com:8912" />
</http:endpoints>
</http:component>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5730251
Sent from the ServiceMix - User forum at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
WSDL will be used if you provide one or if the target endpoint provides one.
But if none can be found, then no wsdl will be exposed. It won't stop
the http endpoint to work.
If you do not want to use soap (like the HttpConnector), just remove the
soap="true" attribute on the consumer endpoint and the full content of the
http post request will be sent.
On 8/9/06, yangf <fa...@raytheon.com> wrote:
>
>
> >What do you mean by "I just wanted teh httpendpointing consumer behaviors
> like
> httpconnector" ?
> >
>
> I meant httpendpointing consumer just receives a http request from client
> like httpconnector and then forward the http request to its targetService.
> can I do it like that without exposed WSDL on a consumer endpoint? maybe I
> am misunderstanding on the use of httpendpoint consumer.
>
> I did switch the order of endpoint, placed provider ahead of consumer. I
> got
> the same error.
>
>
> Thanks a lot
>
> -yangf
> --
> View this message in context:
> http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5728129
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: External Webservices binding (the answer)
Posted by yangf <fa...@raytheon.com>.
>What do you mean by "I just wanted teh httpendpointing consumer behaviors
like
httpconnector" ?
>
I meant httpendpointing consumer just receives a http request from client
like httpconnector and then forward the http request to its targetService.
can I do it like that without exposed WSDL on a consumer endpoint? maybe I
am misunderstanding on the use of httpendpoint consumer.
I did switch the order of endpoint, placed provider ahead of consumer. I got
the same error.
Thanks a lot
-yangf
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5728129
Sent from the ServiceMix - User forum at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
For servicemix-http to be able to expose a WSDL on a consumer endpoint,
the target endpoint must be activated before the consumer. So try changing
the order of your endpoints.
What do you mean by "I just wanted teh httpendpointing consumer behaviors
like
httpconnector" ?
On 8/8/06, yangf <fa...@raytheon.com> wrote:
>
>
> Hi Guillaume,
>
> After I added 'soap="true"' into httpendpoing provider, the provider
> works.
>
> I tried adjust soapAction in saajBinding, it still does not work. any idea
> on it?
>
> In addition, I attempted to use servicemix-http consumer to replace
> httpConnector. but it failed . here is my configuration file
> ==
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
> xmlns:http="http://servicemix.apache.org/http/1.0"
> xmlns:foo="http://servicemix.org/demo/">
>
> <!-- the JBI container -->
> <sm:container id="jbi"
> useMBeanServer="true"
> createMBeanServer="true"
> dumpStats="true"
> statsInterval="10">
>
> <sm:activationSpecs>
>
>
>
>
> <sm:activationSpec>
> <sm:component>
> <http:component>
> <http:endpoints>
> <http:endpoint
> service="foo:CatalogWebServiceReceiver"
> endpoint="catalogWebServiceReceiverEP"
>
> targetService="foo:CatalogWebService"
> role="consumer"
> soap="true"
> locationURI="
> http://L71037263.us.ray.com:8912" />
> <http:endpoint
> service="foo:CatalogWebService"
>
> endpoint="catalogWebServiceEP"
>
> role="provider"
>
> soap="true"
>
> locationURI="http://138.125.32.77:7001/mdf/CatalogWebService"
>
> wsdlResource="http://138.125.32.77:7001/mdf/CatalogWebService?WSDL" />
>
> </http:endpoints>
> </http:component>
> </sm:component>
> </sm:activationSpec>
>
>
> </sm:activationSpecs>
> </sm:container>
>
> </beans>
>
> ==
>
> error log
> ===
>
> 15:37:14,378 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=ManagementContext
> 15:37:14,428 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=EnvironmentContext
> 15:37:14,438 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=Registry
> 15:37:14,458 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=DefaultBroker
> 15:37:14,588 | INFO | main | JBIContainer |
> mix.jbi.container.JBIContainer 1008 | Activating component for:
> [container=ServiceMix,name=#SubscriptionManager#] with service: null
> component: org.apache.servicemix.jbi.nmr.SubscriptionManager@1884a40
> 15:37:14,598 | INFO | main | ComponentMBeanImpl |
> i.framework.ComponentMBeanImpl 184 | Initializing component:
> #SubscriptionManager#
> 15:37:14,738 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=InstallationService
> 15:37:14,748 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=DeploymentService
> 15:37:14,758 | INFO | main | DeploymentService |
> bi.framework.DeploymentService 683 | Restoring service assemblies
> 15:37:14,758 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=AutoDeploymentService
> 15:37:14,778 | DEBUG | main | AutoDeploymentService |
> ramework.AutoDeploymentService 564 | State file doesn't exist:
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install.xml
> 15:37:14,778 | DEBUG | main | AutoDeploymentService |
> ramework.AutoDeploymentService 564 | State file doesn't exist:
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy.xml
> 15:37:14,778 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=AdminCommandsService
> 15:37:14,858 | INFO | main | JBIContainer |
> mix.jbi.container.JBIContainer 538 | ServiceMix JBI Container
> (http://servicemix.org/) name: ServiceMix running version: 3.0-SNAPSHOT
> 15:37:14,889 | INFO | main | JBIContainer |
> mix.jbi.container.JBIContainer 1008 | Activating component for:
> [container=ServiceMix,name=ID:L71037263-2368-1155065833647-0:0] with
> service: null component:
> org.apache.servicemix.http.HttpSpringComponent@1c7980c
> 15:37:14,889 | INFO | main | ComponentMBeanImpl |
> i.framework.ComponentMBeanImpl 184 | Initializing component:
> ID:L71037263-2368-1155065833647-0:0
> 15:37:14,899 | DEBUG | main | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 103 | Initializing component
> 15:37:15,049 | DEBUG | main | JBIContainer |
> mix.jbi.container.JBIContainer 654 | No transaction manager found from
> naming context: remaining name: java:appserver/TransactionManager
> 15:37:15,139 | DEBUG | main | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 110 | Component initialized
> 15:37:15,149 | DEBUG | main | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 195 | Starting component
> 15:37:15,169 | INFO | main | log |
> rg.slf4j.impl.JCLLoggerAdapter 216 | Logging to
> org.slf4j.impl.JCLLoggerAdapter@6e1dec via org.mortbay.log.Slf4jLog
> 15:37:15,169 | DEBUG | main | HttpSpringComponent |
> e.servicemix.soap.SoapEndpoint 240 | Retrieving proxied endpoint
> definition
> 15:37:15,169 | DEBUG | main | HttpSpringComponent |
> e.servicemix.soap.SoapEndpoint 257 | Could not retrieve endpoint for
> targetService
> 15:37:15,169 | DEBUG | main | HttpSpringComponent |
> e.servicemix.soap.SoapEndpoint 272 | Could not retrieve endpoint for
> service/endpoint
> 15:37:15,239 | INFO | main | log |
> rg.slf4j.impl.JCLLoggerAdapter 216 | jetty 6.0.0beta15
> 15:37:15,309 | DEBUG | main | ServerManager |
> erverManager$ThreadPoolWrapper 369 | Dispatching job:
> org.mortbay.jetty.AbstractConnector$Acceptor@1284fd4
> 15:37:15,309 | INFO | main | log |
> rg.slf4j.impl.JCLLoggerAdapter 216 | Started SelectChannelConnector @
> L71037263.us.ray.com:8912
> 15:37:15,840 | DEBUG | main | HttpSpringComponent |
> e.servicemix.http.HttpEndpoint 146 | Port for service/endpoint could not
> be
> found
> 15:37:15,840 | DEBUG | main | ComponentContextImpl |
> framework.ComponentContextImpl 133 | Component:
> ID:L71037263-2368-1155065833647-0:0 activated endpoint:
> {http://servicemix.org/demo/}CatalogWebService : catalogWebServiceEP
> 15:37:15,840 | DEBUG | main | HttpSpringComponent |
> ervicemix.common.BaseComponent 72 | Querying service description for
> ServiceEndpoint[service={
> http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP
> ]
> 15:37:15,840 | DEBUG | main | HttpSpringComponent |
> ervicemix.common.BaseComponent 80 | No description found for
> {http://servicemix.org/demo/}CatalogWebService:catalogWebServiceEP
> 15:37:15,840 | DEBUG | main | EndpointRegistry |
> jbi.framework.EndpointRegistry 239 | Endpoint
> ServiceEndpoint[service={
> http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP
> ]
> has no service description
> 15:37:15,880 | DEBUG | main | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 201 | Component started
> 15:37:15,880 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 15:37:15,880 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 15:37:20,567 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @
> L71037263.us.ray.com:8912 | ServerManager |
> erverManager$ThreadPoolWrapper 369 | Dispatching job:
> HEP@18452466[d=true,io=0,w=true,b=0|0]
> 15:37:20,807 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @
> L71037263.us.ray.com:8912 | ServerManager |
> erverManager$ThreadPoolWrapper 369 | Dispatching job:
> HEP@18452466[d=true,io=1,w=true,b=0|0]
> 15:37:25,894 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 15:37:25,894 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 15:37:35,889 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 15:37:35,889 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 15:37:45,883 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 15:37:45,883 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 15:37:55,887 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
>
> =====
>
> from client console
> ====
> [java] java.io.IOException: Server returned HTTP response code: 400
> for
> URL: http://L71037263.us.ray.com:8912
> [java] at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(
> HttpURLConnection.java:814)
> [java] at HttpClient.main(Unknown Source)
> [java] Exception in thread "main"
> [java] Java Result: 1
>
> =======
>
> In the try, I just wanted teh httpendpointing consumer behaviors like
> httpconnector, not expose a web service over bus. just wonder if I can do
> it? anything wrong I did in my configuration?
>
> Thank you very very much for your help
>
> -yangf
> --
> View this message in context:
> http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5714059
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: External Webservices binding (the answer)
Posted by yangf <fa...@raytheon.com>.
Hi Guillaume,
After I added 'soap="true"' into httpendpoing provider, the provider works.
I tried adjust soapAction in saajBinding, it still does not work. any idea
on it?
In addition, I attempted to use servicemix-http consumer to replace
httpConnector. but it failed . here is my configuration file
==
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:foo="http://servicemix.org/demo/">
<!-- the JBI container -->
<sm:container id="jbi"
useMBeanServer="true"
createMBeanServer="true"
dumpStats="true"
statsInterval="10">
<sm:activationSpecs>
<sm:activationSpec>
<sm:component>
<http:component>
<http:endpoints>
<http:endpoint service="foo:CatalogWebServiceReceiver"
endpoint="catalogWebServiceReceiverEP"
targetService="foo:CatalogWebService"
role="consumer"
soap="true"
locationURI="http://L71037263.us.ray.com:8912" />
<http:endpoint service="foo:CatalogWebService"
endpoint="catalogWebServiceEP"
role="provider"
soap="true"
locationURI="http://138.125.32.77:7001/mdf/CatalogWebService"
wsdlResource="http://138.125.32.77:7001/mdf/CatalogWebService?WSDL" />
</http:endpoints>
</http:component>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:container>
</beans>
==
error log
===
15:37:14,378 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=ManagementContext
15:37:14,428 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=EnvironmentContext
15:37:14,438 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=Registry
15:37:14,458 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=DefaultBroker
15:37:14,588 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 1008 | Activating component for:
[container=ServiceMix,name=#SubscriptionManager#] with service: null
component: org.apache.servicemix.jbi.nmr.SubscriptionManager@1884a40
15:37:14,598 | INFO | main | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 184 | Initializing component:
#SubscriptionManager#
15:37:14,738 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=InstallationService
15:37:14,748 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=DeploymentService
15:37:14,758 | INFO | main | DeploymentService |
bi.framework.DeploymentService 683 | Restoring service assemblies
15:37:14,758 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=AutoDeploymentService
15:37:14,778 | DEBUG | main | AutoDeploymentService |
ramework.AutoDeploymentService 564 | State file doesn't exist:
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install.xml
15:37:14,778 | DEBUG | main | AutoDeploymentService |
ramework.AutoDeploymentService 564 | State file doesn't exist:
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy.xml
15:37:14,778 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=AdminCommandsService
15:37:14,858 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 538 | ServiceMix JBI Container
(http://servicemix.org/) name: ServiceMix running version: 3.0-SNAPSHOT
15:37:14,889 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 1008 | Activating component for:
[container=ServiceMix,name=ID:L71037263-2368-1155065833647-0:0] with
service: null component:
org.apache.servicemix.http.HttpSpringComponent@1c7980c
15:37:14,889 | INFO | main | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 184 | Initializing component:
ID:L71037263-2368-1155065833647-0:0
15:37:14,899 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 103 | Initializing component
15:37:15,049 | DEBUG | main | JBIContainer |
mix.jbi.container.JBIContainer 654 | No transaction manager found from
naming context: remaining name: java:appserver/TransactionManager
15:37:15,139 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 110 | Component initialized
15:37:15,149 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 195 | Starting component
15:37:15,169 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | Logging to
org.slf4j.impl.JCLLoggerAdapter@6e1dec via org.mortbay.log.Slf4jLog
15:37:15,169 | DEBUG | main | HttpSpringComponent |
e.servicemix.soap.SoapEndpoint 240 | Retrieving proxied endpoint definition
15:37:15,169 | DEBUG | main | HttpSpringComponent |
e.servicemix.soap.SoapEndpoint 257 | Could not retrieve endpoint for
targetService
15:37:15,169 | DEBUG | main | HttpSpringComponent |
e.servicemix.soap.SoapEndpoint 272 | Could not retrieve endpoint for
service/endpoint
15:37:15,239 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | jetty 6.0.0beta15
15:37:15,309 | DEBUG | main | ServerManager |
erverManager$ThreadPoolWrapper 369 | Dispatching job:
org.mortbay.jetty.AbstractConnector$Acceptor@1284fd4
15:37:15,309 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | Started SelectChannelConnector @
L71037263.us.ray.com:8912
15:37:15,840 | DEBUG | main | HttpSpringComponent |
e.servicemix.http.HttpEndpoint 146 | Port for service/endpoint could not be
found
15:37:15,840 | DEBUG | main | ComponentContextImpl |
framework.ComponentContextImpl 133 | Component:
ID:L71037263-2368-1155065833647-0:0 activated endpoint:
{http://servicemix.org/demo/}CatalogWebService : catalogWebServiceEP
15:37:15,840 | DEBUG | main | HttpSpringComponent |
ervicemix.common.BaseComponent 72 | Querying service description for
ServiceEndpoint[service={http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP]
15:37:15,840 | DEBUG | main | HttpSpringComponent |
ervicemix.common.BaseComponent 80 | No description found for
{http://servicemix.org/demo/}CatalogWebService:catalogWebServiceEP
15:37:15,840 | DEBUG | main | EndpointRegistry |
jbi.framework.EndpointRegistry 239 | Endpoint
ServiceEndpoint[service={http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP]
has no service description
15:37:15,880 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 201 | Component started
15:37:15,880 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
15:37:15,880 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
15:37:20,567 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @
L71037263.us.ray.com:8912 | ServerManager |
erverManager$ThreadPoolWrapper 369 | Dispatching job:
HEP@18452466[d=true,io=0,w=true,b=0|0]
15:37:20,807 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @
L71037263.us.ray.com:8912 | ServerManager |
erverManager$ThreadPoolWrapper 369 | Dispatching job:
HEP@18452466[d=true,io=1,w=true,b=0|0]
15:37:25,894 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
15:37:25,894 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
15:37:35,889 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
15:37:35,889 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
15:37:45,883 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
15:37:45,883 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
15:37:55,887 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
=====
from client console
====
[java] java.io.IOException: Server returned HTTP response code: 400 for
URL: http://L71037263.us.ray.com:8912
[java] at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:814)
[java] at HttpClient.main(Unknown Source)
[java] Exception in thread "main"
[java] Java Result: 1
=======
In the try, I just wanted teh httpendpointing consumer behaviors like
httpconnector, not expose a web service over bus. just wonder if I can do
it? anything wrong I did in my configuration?
Thank you very very much for your help
-yangf
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5714059
Sent from the ServiceMix - User forum at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
I've just seen that you forgot the soap="true" attribute on the
<http:endpoint /> tag.
Without this, it will just send the xml content and not a soap request.
You may also need to adjust soapVersion and / or soapAction.
On 8/8/06, yangf <fa...@raytheon.com> wrote:
>
>
> Thanks a lot. I will try both tools.
>
> Since the web service is running on weblogic, I invoked the method from
> the
> test page in weblogic console. The screenshot is attached.
>
> Teh request and response I got from the testing page are
> ===================================
>
> Output values from the server
>
> Parameter Name Parameter Value
> Return Value DIB
>
>
>
> Request sent to the server
>
> <!--REQUEST.................-->
> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <m:getSiteNames xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> </env:Body>
> </env:Envelope>
>
> Response from the server
>
> <!--RESPONSE.................-->
> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <m:getSiteNamesResponse xmlns:m="http://mil.dcgs/CatalogWebService">
> <result soapenc:arrayType="xsd:string[1]">
> <string xsi:type="xsd:string">DIB</string>
> </result>
> </m:getSiteNamesResponse>
> </env:Body>
> </env:Envelope>
>
>
> http://www.nabble.com/user-files/222/getSiteNames.rtf getSiteNames.rtf
> --
> View this message in context:
> http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5711104
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: External Webservices binding (the answer)
Posted by yangf <fa...@raytheon.com>.
Thanks a lot. I will try both tools.
Since the web service is running on weblogic, I invoked the method from the
test page in weblogic console. The screenshot is attached.
Teh request and response I got from the testing page are
===================================
Output values from the server
Parameter Name Parameter Value
Return Value DIB
Request sent to the server
<!--REQUEST.................-->
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<m:getSiteNames xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
</env:Body>
</env:Envelope>
Response from the server
<!--RESPONSE.................-->
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<m:getSiteNamesResponse xmlns:m="http://mil.dcgs/CatalogWebService">
<result soapenc:arrayType="xsd:string[1]">
<string xsi:type="xsd:string">DIB</string>
</result>
</m:getSiteNamesResponse>
</env:Body>
</env:Envelope>
http://www.nabble.com/user-files/222/getSiteNames.rtf getSiteNames.rtf
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5711104
Sent from the ServiceMix - User forum at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
It seems that in both cases, the answer from the web service is not valid.
Have you tried using a soap or tcp monitoring tool to check the requests
and answers from the target web service ?
Try
http://ws.apache.org/axis/java/user-guide.html#AppendixUsingTheAxisTCPMonitorTcpmon
or maybe http://www.soapui.org/
On 8/8/06, yangf <fa...@raytheon.com> wrote:
>
>
> Thanks a lot.
>
> I am trying to put all pieces together, and I got the following error. Not
> what wrong I did, if you or anyone else can helpout here, I do appreciate
> it.
>
> Here is my execution flow: http client -> httpreceiver -> httpendpoing
> provider -> external service
>
> here is my configuration file
> =====
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
> xmlns:http="http://servicemix.apache.org/http/1.0"
> xmlns:foo="http://servicemix.org/demo/">
>
> <!-- the JBI container -->
> <sm:container id="jbi"
> useMBeanServer="true"
> createMBeanServer="true"
> dumpStats="true"
> statsInterval="10">
>
> <sm:activationSpecs>
>
> <!-- Create a http server binding on port 8912 and have
> it forward to the
> invoker -->
> <sm:activationSpec componentName="httpReceiver"
>
> service="foo:httpBinding"
> endpoint="httpReceiver"
>
> destinationService="foo:CatalogWebService">
> <sm:component>
> <bean class="
> org.apache.servicemix.components.http.HttpConnector">
> <property name="host" value="
> L71037263.us.ray.com"/>
> <property name="port" value="8912"/>
> </bean>
> </sm:component>
> </sm:activationSpec>
>
> <!-- This just invokes another service -->
> <sm:activationSpec componentName="saajBinding"
>
> service="foo:saajBinding"
> endpoint="saajBinding">
> <sm:component>
> <bean class="
> org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean class="
> javax.xml.messaging.URLEndpoint">
> <constructor-arg
> value="http://138.125.32.77:7001/mdf/CatalogWebService"/>
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
>
>
> <sm:activationSpec componentName="provider">
> <sm:component>
> <http:component>
> <http:endpoints>
> <http:endpoint
> service="foo:CatalogWebService"
>
> endpoint="catalogWebServiceEP" targetService="foo:CatalogWebService"
>
> role="provider"
>
> locationURI="http://138.125.32.77:7001/mdf/CatalogWebService"
>
> wsdlResource="http://138.125.32.77:7001/mdf/CatalogWebService?WSDL" />
>
> </http:endpoints>
> </http:component>
> </sm:component>
> </sm:activationSpec>
>
>
> </sm:activationSpecs>
> </sm:container>
>
> </beans>
>
> === end of configuration file
>
> my client request file which will be read by my client and send to
> httpreceiver
> ===
> <m:getSiteNames xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ===
>
> the servicemix log
> ==========
> ID:L71037263-1587-1155051932077-1:1 in DeliveryChannel{httpReceiver}
> 11:49:24,031 | DEBUG | btpool0-2 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 343 | Sent: MessageExchange[
> id: ID:L71037263-1587-1155051932077-1:1
> status: Active
> role: consumer
> service: {http://servicemix.org/demo/}CatalogWebService
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ]
> 11:49:24,031 | DEBUG | btpool0-2 | DefaultBroker |
> rvicemix.jbi.nmr.DefaultBroker 390 | Routing exchange MessageExchange[
> id: ID:L71037263-1587-1155051932077-1:1
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}CatalogWebService
> endpoint: catalogWebServiceEP
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ] to:
> ServiceEndpoint[service={
> http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP
> ]
> 11:49:24,031 | DEBUG | btpool0-2 | SedaFlow |
> emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
> 11:49:24,031 | DEBUG | btpool0-2 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 697 | Waiting for exchange
> ID:L71037263-1587-1155051932077-1:1 (b48b11) to be answered in
> DeliveryChannel{httpReceiver} from sendSync
> 11:49:24,041 | DEBUG | Thread-13 | SedaQueue |
> .jbi.nmr.flow.seda.SedaQueue$1 224 |
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@16daa9 dequeued
> exchange: MessageExchange[
> id: ID:L71037263-1587-1155051932077-1:1
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}CatalogWebService
> endpoint: catalogWebServiceEP
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ]
> 11:49:24,041 | DEBUG | Thread-13 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 577 | Processing inbound exchange:
> MessageExchange[
> id: ID:L71037263-1587-1155051932077-1:1
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}CatalogWebService
> endpoint: catalogWebServiceEP
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ]
> 11:49:24,041 | DEBUG | Thread-13 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 613 | Received: MessageExchange[
> id: ID:L71037263-1587-1155051932077-1:1
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}CatalogWebService
> endpoint: catalogWebServiceEP
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ]
> 11:49:24,041 | DEBUG | Thread-13 | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 376 | Received exchange: status: Active,
> role: Provider
> 11:49:24,061 | DEBUG | Thread-13 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 404 | Send
> ID:L71037263-1587-1155051932077-1:1 in DeliveryChannel{provider}
> 11:49:24,071 | DEBUG | Thread-13 | MessageExchangeImpl |
> .messaging.MessageExchangeImpl 742 | Error caught in toString
> org.xml.sax.SAXParseException: White spaces are required between publicId
> and systemId.
> at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
> Source)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(
> SourceTransformer.java:226)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(
> SourceTransformer.java:138)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(
> SourceTransformer.java:280)
> at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.toString(
> MessageExchangeImpl.java:723)
> at java.lang.String.valueOf(String.java:2615)
> at java.lang.StringBuffer.append(StringBuffer.java:220)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(
> DeliveryChannelImpl.java:343)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(
> DeliveryChannelImpl.java:410)
> at
> org.apache.servicemix.http.processors.ProviderProcessor.process(
> ProviderProcessor.java:135)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(
> AsyncBaseLifeCycle.java:397)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(
> BaseLifeCycle.java:42)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(
> DeliveryChannelImpl.java:619)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(
> AbstractFlow.java:168)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java
> :175)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java
> :226)
> at
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java
> :291)
> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run
> (Unknown
> Source)
> at java.lang.Thread.run(Thread.java:595)
> 11:49:24,071 | DEBUG | Thread-13 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 343 | Sent: null
> 11:49:24,071 | DEBUG | Thread-13 | SedaFlow |
> emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
> 11:49:24,081 | DEBUG | Thread-14 | MessageExchangeImpl |
> .messaging.MessageExchangeImpl 742 | Error caught in toString
> java.io.IOException: Attempted read on closed stream.
> at
> org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(
> AutoCloseInputStream.java:165)
> at
> org.apache.commons.httpclient.AutoCloseInputStream.read(
> AutoCloseInputStream.java:85)
> at
> org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown
> Source)
> at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity
> (Unknown
> Source)
> at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion
> (Unknown
> Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
> Source)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(
> SourceTransformer.java:226)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(
> SourceTransformer.java:138)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(
> SourceTransformer.java:280)
> at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.toString(
> MessageExchangeImpl.java:723)
> at java.lang.String.valueOf(String.java:2615)
> at java.lang.StringBuffer.append(StringBuffer.java:220)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java
> :224)
> at
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java
> :291)
> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run
> (Unknown
> Source)
> at java.lang.Thread.run(Thread.java:595)
> 11:49:24,081 | DEBUG | Thread-14 | SedaQueue |
> .jbi.nmr.flow.seda.SedaQueue$1 224 |
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@14b9a74 dequeued
> exchange: null
> 11:49:24,081 | DEBUG | Thread-14 | MessageExchangeImpl |
> .messaging.MessageExchangeImpl 742 | Error caught in toString
> java.io.IOException: Attempted read on closed stream.
> at
> org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(
> AutoCloseInputStream.java:165)
> at
> org.apache.commons.httpclient.AutoCloseInputStream.read(
> AutoCloseInputStream.java:85)
> at
> org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown
> Source)
> at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity
> (Unknown
> Source)
> at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion
> (Unknown
> Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
> Source)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(
> SourceTransformer.java:226)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(
> SourceTransformer.java:138)
> at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(
> SourceTransformer.java:280)
> at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.toString(
> MessageExchangeImpl.java:723)
> at java.lang.String.valueOf(String.java:2615)
> at java.lang.StringBuffer.append(StringBuffer.java:220)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(
> DeliveryChannelImpl.java:577)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(
> AbstractFlow.java:168)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java
> :175)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java
> :226)
> at
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java
> :291)
> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run
> (Unknown
> Source)
> at java.lang.Thread.run(Thread.java:595)
> 11:49:24,081 | DEBUG | Thread-14 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 577 | Processing inbound exchange: null
> 11:49:24,081 | DEBUG | Thread-14 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 713 | Notifying exchange
> ID:L71037263-1587-1155051932077-1:1(b48b11) in
> DeliveryChannel{httpReceiver}
> from processInboundSynchronousExchange
> 11:49:24,081 | DEBUG | btpool0-2 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 707 | Notified:
> ID:L71037263-1587-1155051932077-1:1(b48b11) in
> DeliveryChannel{httpReceiver}
> from sendSync
> 11:49:24,081 | ERROR | btpool0-2 | log |
> rg.slf4j.impl.JCLLoggerAdapter 443 | /:
> java.lang.NullPointerException
> at
> org.apache.servicemix.components.http.HttpMarshaler.toResponse(
> HttpMarshaler.java:115)
> at
> org.apache.servicemix.components.http.HttpInOutBinding.processInOut(
> HttpInOutBinding.java:68)
> at
> org.apache.servicemix.components.http.HttpInOutBinding.process(
> HttpInOutBinding.java:44)
> at
> org.apache.servicemix.components.http.BindingServlet.doPost(
> BindingServlet.java:75)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:423)
> at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:355)
> at org.mortbay.jetty.handler.ContextHandler.handle(
> ContextHandler.java:542)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(
> HandlerWrapper.java:119)
> at org.mortbay.jetty.Server.handle(Server.java:245)
> at org.mortbay.jetty.HttpConnection.handlerRequest(
> HttpConnection.java:365)
> at org.mortbay.jetty.HttpConnection.access$1500(
> HttpConnection.java:38)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(
> HttpConnection.java:623)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:610)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java
> :196)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java
> :296)
> at
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java
> :159)
> at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java
> :435)
> 11:49:24,091 | ERROR | btpool0-2 | log |
> rg.slf4j.impl.JCLLoggerAdapter 443 | /
> java.lang.NullPointerException
> at
> org.apache.servicemix.components.http.HttpMarshaler.toResponse(
> HttpMarshaler.java:115)
> at
> org.apache.servicemix.components.http.HttpInOutBinding.processInOut(
> HttpInOutBinding.java:68)
> at
> org.apache.servicemix.components.http.HttpInOutBinding.process(
> HttpInOutBinding.java:44)
> at
> org.apache.servicemix.components.http.BindingServlet.doPost(
> BindingServlet.java:75)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:423)
> at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:355)
> at org.mortbay.jetty.handler.ContextHandler.handle(
> ContextHandler.java:542)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(
> HandlerWrapper.java:119)
> at org.mortbay.jetty.Server.handle(Server.java:245)
> at org.mortbay.jetty.HttpConnection.handlerRequest(
> HttpConnection.java:365)
> at org.mortbay.jetty.HttpConnection.access$1500(
> HttpConnection.java:38)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(
> HttpConnection.java:623)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:610)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java
> :196)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java
> :296)
> at
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java
> :159)
> at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java
> :435)
> 11:49:33,364 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 11:49:33,364 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 11:49:43,369 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 11:49:43,369 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
>
>
> ===== end of log
>
> if I switch destinationService to saajBinding instead of using http
> provider, I got different errors
> ===
> 12:05:40,575 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=ManagementContext
> 12:05:40,625 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=EnvironmentContext
> 12:05:40,645 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=Registry
> 12:05:40,655 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=DefaultBroker
> 12:05:40,695 | INFO | main | JBIContainer |
> mix.jbi.container.JBIContainer 1008 | Activating component for:
> [container=ServiceMix,name=#SubscriptionManager#] with service: null
> component: org.apache.servicemix.jbi.nmr.SubscriptionManager@18aab40
> 12:05:40,695 | INFO | main | ComponentMBeanImpl |
> i.framework.ComponentMBeanImpl 184 | Initializing component:
> #SubscriptionManager#
> 12:05:40,815 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=InstallationService
> 12:05:40,835 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=DeploymentService
> 12:05:40,936 | INFO | main | DeploymentService |
> bi.framework.DeploymentService 683 | Restoring service assemblies
> 12:05:40,936 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=AutoDeploymentService
> 12:05:40,956 | DEBUG | main | AutoDeploymentService |
> ramework.AutoDeploymentService 564 | State file doesn't exist:
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install.xml
> 12:05:40,956 | DEBUG | main | AutoDeploymentService |
> ramework.AutoDeploymentService 564 | State file doesn't exist:
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy.xml
> 12:05:40,956 | DEBUG | main | ManagementContext |
> i.management.ManagementContext 570 | Registering system service:
> org.apache.servicemix:ContainerName=ServiceMix
> ,Type=SystemService,Name=AdminCommandsService
> 12:05:40,966 | INFO | main | JBIContainer |
> mix.jbi.container.JBIContainer 538 | ServiceMix JBI Container
> (http://servicemix.org/) name: ServiceMix running version: 3.0-SNAPSHOT
> 12:05:40,976 | INFO | main | JBIContainer |
> mix.jbi.container.JBIContainer 1008 | Activating component for:
> [container=ServiceMix,name=httpReceiver] with service:
> {http://servicemix.org/demo/}httpBinding component:
> org.apache.servicemix.components.http.HttpConnector@b0a3f5
> 12:05:40,976 | INFO | main | ComponentMBeanImpl |
> i.framework.ComponentMBeanImpl 184 | Initializing component: httpReceiver
> 12:05:40,976 | DEBUG | main | ComponentContextImpl |
> framework.ComponentContextImpl 133 | Component: httpReceiver activated
> endpoint: {http://servicemix.org/demo/}httpBinding : httpReceiver
> 12:05:40,976 | DEBUG | main | EndpointRegistry |
> jbi.framework.EndpointRegistry 239 | Endpoint
> ServiceEndpoint[service={
> http://servicemix.org/demo/}httpBinding,endpoint=httpReceiver]
> has no service description
> 12:05:41,076 | INFO | main | log |
> rg.slf4j.impl.JCLLoggerAdapter 216 | Logging to
> org.slf4j.impl.JCLLoggerAdapter@1c54796 via org.mortbay.log.Slf4jLog
> 12:05:41,096 | INFO | main | JBIContainer |
> mix.jbi.container.JBIContainer 1008 | Activating component for:
> [container=ServiceMix,name=saajBinding] with service:
> {http://servicemix.org/demo/}saajBinding component:
> org.apache.servicemix.components.saaj.SaajBinding@ded0f0
> 12:05:41,106 | INFO | main | ComponentMBeanImpl |
> i.framework.ComponentMBeanImpl 184 | Initializing component: saajBinding
> 12:05:41,146 | DEBUG | main | ComponentContextImpl |
> framework.ComponentContextImpl 133 | Component: saajBinding activated
> endpoint: {http://servicemix.org/demo/}saajBinding : saajBinding
> 12:05:41,146 | DEBUG | main | EndpointRegistry |
> jbi.framework.EndpointRegistry 239 | Endpoint
> ServiceEndpoint[service={
> http://servicemix.org/demo/}saajBinding,endpoint=saajBinding]
> has no service description
> 12:05:41,146 | INFO | main | JBIContainer |
> mix.jbi.container.JBIContainer 1008 | Activating component for:
> [container=ServiceMix,name=provider] with service: null component:
> org.apache.servicemix.http.HttpSpringComponent@778255
> 12:05:41,146 | INFO | main | ComponentMBeanImpl |
> i.framework.ComponentMBeanImpl 184 | Initializing component: provider
> 12:05:41,146 | DEBUG | main | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 103 | Initializing component
> 12:05:41,206 | DEBUG | main | JBIContainer |
> mix.jbi.container.JBIContainer 654 | No transaction manager found from
> naming context: remaining name: java:appserver/TransactionManager
> 12:05:41,246 | DEBUG | main | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 110 | Component initialized
> 12:05:41,286 | INFO | main | log |
> rg.slf4j.impl.JCLLoggerAdapter 216 | jetty 6.0.0beta15
> 12:05:41,366 | INFO | main | log |
> rg.slf4j.impl.JCLLoggerAdapter 216 | Started SocketConnector @
> L71037263.us.ray.com:8912
> 12:05:41,376 | DEBUG | main | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 195 | Starting component
> 12:05:41,917 | DEBUG | main | HttpSpringComponent |
> e.servicemix.http.HttpEndpoint 134 | Service for targetService could not
> be
> found
> 12:05:41,917 | DEBUG | main | ComponentContextImpl |
> framework.ComponentContextImpl 133 | Component: provider activated
> endpoint: {http://servicemix.org/demo/}CatalogWebService :
> catalogWebServiceEP
> 12:05:41,917 | DEBUG | main | HttpSpringComponent |
> ervicemix.common.BaseComponent 72 | Querying service description for
> ServiceEndpoint[service={
> http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP
> ]
> 12:05:41,917 | DEBUG | main | HttpSpringComponent |
> ervicemix.common.BaseComponent 80 | No description found for
> {http://servicemix.org/demo/}CatalogWebService:catalogWebServiceEP
> 12:05:41,927 | DEBUG | main | EndpointRegistry |
> jbi.framework.EndpointRegistry 239 | Endpoint
> ServiceEndpoint[service={
> http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP
> ]
> has no service description
> 12:05:41,967 | DEBUG | main | HttpSpringComponent |
> emix.common.AsyncBaseLifeCycle 201 | Component started
> 12:05:41,967 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 12:05:41,967 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 12:05:47,515 | DEBUG | btpool0-1 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 171 | default destination serviceName for
> httpReceiver = {http://servicemix.org/demo/}saajBinding
> 12:05:47,535 | DEBUG | btpool0-1 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 437 | SendSync
> ID:L71037263-1608-1155053140705-1:0 in DeliveryChannel{httpReceiver}
> 12:05:47,655 | DEBUG | btpool0-1 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 343 | Sent: MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Active
> role: consumer
> service: {http://servicemix.org/demo/}saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ]
> 12:05:47,655 | DEBUG | btpool0-1 | DefaultBroker |
> rvicemix.jbi.nmr.DefaultBroker 390 | Routing exchange MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ] to:
> ServiceEndpoint[service={
> http://servicemix.org/demo/}saajBinding,endpoint=saajBinding]
> 12:05:47,655 | DEBUG | btpool0-1 | SedaFlow |
> emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
> 12:05:47,675 | DEBUG | btpool0-1 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 697 | Waiting for exchange
> ID:L71037263-1608-1155053140705-1:0 (5db5ae) to be answered in
> DeliveryChannel{httpReceiver} from sendSync
> 12:05:47,675 | DEBUG | Thread-9 | SedaQueue |
> .jbi.nmr.flow.seda.SedaQueue$1 224 |
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@5d855f dequeued
> exchange: MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ]
> 12:05:47,675 | DEBUG | Thread-9 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 577 | Processing inbound exchange:
> MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ]
> 12:05:47,675 | DEBUG | Thread-9 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 613 | Received: MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> ]
> 12:05:48,046 | DEBUG | Thread-9 | SaajBinding |
> ix.components.saaj.SaajBinding 101 | <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <m:getSiteNames xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> </soapenv:Body>
> </soapenv:Envelope>
> 12:05:51,971 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 12:05:51,971 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 12:06:01,976 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 12:06:01,976 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 12:06:11,970 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 12:06:11,970 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 12:06:20,032 | DEBUG | Thread-9 | SaajMarshaler |
> .components.saaj.SaajMarshaler 65 | <?xml version="1.0"
> encoding="UTF-8"?><env:Envelope
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><env:Body><env:Fault><faultcode>Client</faultcode><faultstring>Unable
> to parse the incoming request. Please make sure that the request is valid:
> javax.xml.soap.SOAPException: Unsupported Content-Type:
>
> application/x-www-form-urlencoded</faultstring></env:Fault></env:Body></env:Envelope>
> 12:06:20,042 | DEBUG | Thread-9 | SaajMarshaler |
> .components.saaj.SaajMarshaler 111 | <?xml version="1.0"
> encoding="UTF-8"?><env:Fault
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><faultcode/><faultstring/></env:Fault>
> 12:06:20,042 | DEBUG | Thread-9 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 404 | Send
> ID:L71037263-1608-1155053140705-1:0 in DeliveryChannel{saajBinding}
> 12:06:20,042 | DEBUG | Thread-9 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 343 | Sent: MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Active
> role: provider
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><faultcode/><faultstring/></env:Fault>
> ]
> 12:06:20,042 | DEBUG | Thread-9 | SedaFlow |
> emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
> 12:06:20,052 | DEBUG | Thread-10 | SedaQueue |
> .jbi.nmr.flow.seda.SedaQueue$1 224 |
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1abdac9 dequeued
> exchange: MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Active
> role: consumer
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><faultcode/><faultstring/></env:Fault>
> ]
> 12:06:20,052 | DEBUG | Thread-10 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 577 | Processing inbound exchange:
> MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Active
> role: consumer
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><faultcode/><faultstring/></env:Fault>
> ]
> 12:06:20,052 | DEBUG | Thread-10 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 713 | Notifying exchange
> ID:L71037263-1608-1155053140705-1:0(5db5ae) in
> DeliveryChannel{httpReceiver}
> from processInboundSynchronousExchange
> 12:06:20,052 | DEBUG | btpool0-1 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 707 | Notified:
> ID:L71037263-1608-1155053140705-1:0(5db5ae) in
> DeliveryChannel{httpReceiver}
> from sendSync
> 12:06:20,072 | DEBUG | btpool0-1 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 404 | Send
> ID:L71037263-1608-1155053140705-1:0 in DeliveryChannel{httpReceiver}
> 12:06:20,082 | DEBUG | btpool0-1 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 343 | Sent: MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Done
> role: consumer
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><faultcode/><faultstring/></env:Fault>
> ]
> 12:06:20,082 | DEBUG | btpool0-1 | SedaFlow |
> emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
> 12:06:20,092 | DEBUG | Thread-11 | SedaQueue |
> .jbi.nmr.flow.seda.SedaQueue$1 224 |
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@e7d53 dequeued
> exchange:
> MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Done
> role: provider
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><faultcode/><faultstring/></env:Fault>
> ]
> 12:06:20,092 | DEBUG | Thread-11 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 577 | Processing inbound exchange:
> MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Done
> role: provider
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><faultcode/><faultstring/></env:Fault>
> ]
> 12:06:20,102 | DEBUG | Thread-11 | DeliveryChannelImpl |
> .messaging.DeliveryChannelImpl 613 | Received: MessageExchange[
> id: ID:L71037263-1608-1155053140705-1:0
> status: Done
> role: provider
> service: {http://servicemix.org/demo/}saajBinding
> endpoint: saajBinding
> in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
> xmlns:m="http://mil.dcgs/CatalogWebService">
> </m:getSiteNames>
> out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "><faultcode/><faultstring/></env:Fault>
> ]
> 12:06:21,975 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 12:06:21,975 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
> 12:06:31,969 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-
> servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
> for new or modified archives
> 12:06:31,969 | DEBUG | Timer-2 | AutoDeploymentService |
> ramework.AutoDeploymentService 484 | Monitoring directory
> C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
> for new or modified archives
>
>
>
> ====
>
> Thanks in advance
>
> -yangf
> --
> View this message in context:
> http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5709719
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: External Webservices binding (the answer)
Posted by yangf <fa...@raytheon.com>.
Thanks a lot.
I am trying to put all pieces together, and I got the following error. Not
what wrong I did, if you or anyone else can helpout here, I do appreciate
it.
Here is my execution flow: http client -> httpreceiver -> httpendpoing
provider -> external service
here is my configuration file
=====
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:foo="http://servicemix.org/demo/">
<!-- the JBI container -->
<sm:container id="jbi"
useMBeanServer="true"
createMBeanServer="true"
dumpStats="true"
statsInterval="10">
<sm:activationSpecs>
<!-- Create a http server binding on port 8912 and have it forward to the
invoker -->
<sm:activationSpec componentName="httpReceiver"
service="foo:httpBinding"
endpoint="httpReceiver"
destinationService="foo:CatalogWebService">
<sm:component>
<bean class="org.apache.servicemix.components.http.HttpConnector">
<property name="host" value="L71037263.us.ray.com"/>
<property name="port" value="8912"/>
</bean>
</sm:component>
</sm:activationSpec>
<!-- This just invokes another service -->
<sm:activationSpec componentName="saajBinding"
service="foo:saajBinding"
endpoint="saajBinding">
<sm:component>
<bean class="org.apache.servicemix.components.saaj.SaajBinding">
<property name="soapAction" value="" />
<property name="soapEndpoint">
<bean class="javax.xml.messaging.URLEndpoint">
<constructor-arg
value="http://138.125.32.77:7001/mdf/CatalogWebService"/>
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="provider">
<sm:component>
<http:component>
<http:endpoints>
<http:endpoint service="foo:CatalogWebService"
endpoint="catalogWebServiceEP" targetService="foo:CatalogWebService"
role="provider"
locationURI="http://138.125.32.77:7001/mdf/CatalogWebService"
wsdlResource="http://138.125.32.77:7001/mdf/CatalogWebService?WSDL" />
</http:endpoints>
</http:component>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:container>
</beans>
=== end of configuration file
my client request file which will be read by my client and send to
httpreceiver
===
<m:getSiteNames xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
===
the servicemix log
==========
ID:L71037263-1587-1155051932077-1:1 in DeliveryChannel{httpReceiver}
11:49:24,031 | DEBUG | btpool0-2 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 343 | Sent: MessageExchange[
id: ID:L71037263-1587-1155051932077-1:1
status: Active
role: consumer
service: {http://servicemix.org/demo/}CatalogWebService
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
]
11:49:24,031 | DEBUG | btpool0-2 | DefaultBroker |
rvicemix.jbi.nmr.DefaultBroker 390 | Routing exchange MessageExchange[
id: ID:L71037263-1587-1155051932077-1:1
status: Active
role: provider
service: {http://servicemix.org/demo/}CatalogWebService
endpoint: catalogWebServiceEP
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
] to:
ServiceEndpoint[service={http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP]
11:49:24,031 | DEBUG | btpool0-2 | SedaFlow |
emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
11:49:24,031 | DEBUG | btpool0-2 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 697 | Waiting for exchange
ID:L71037263-1587-1155051932077-1:1 (b48b11) to be answered in
DeliveryChannel{httpReceiver} from sendSync
11:49:24,041 | DEBUG | Thread-13 | SedaQueue |
.jbi.nmr.flow.seda.SedaQueue$1 224 |
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@16daa9 dequeued
exchange: MessageExchange[
id: ID:L71037263-1587-1155051932077-1:1
status: Active
role: provider
service: {http://servicemix.org/demo/}CatalogWebService
endpoint: catalogWebServiceEP
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
]
11:49:24,041 | DEBUG | Thread-13 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 577 | Processing inbound exchange:
MessageExchange[
id: ID:L71037263-1587-1155051932077-1:1
status: Active
role: provider
service: {http://servicemix.org/demo/}CatalogWebService
endpoint: catalogWebServiceEP
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
]
11:49:24,041 | DEBUG | Thread-13 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 613 | Received: MessageExchange[
id: ID:L71037263-1587-1155051932077-1:1
status: Active
role: provider
service: {http://servicemix.org/demo/}CatalogWebService
endpoint: catalogWebServiceEP
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
]
11:49:24,041 | DEBUG | Thread-13 | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 376 | Received exchange: status: Active,
role: Provider
11:49:24,061 | DEBUG | Thread-13 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 404 | Send
ID:L71037263-1587-1155051932077-1:1 in DeliveryChannel{provider}
11:49:24,071 | DEBUG | Thread-13 | MessageExchangeImpl |
.messaging.MessageExchangeImpl 742 | Error caught in toString
org.xml.sax.SAXParseException: White spaces are required between publicId
and systemId.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(SourceTransformer.java:226)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(SourceTransformer.java:138)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTransformer.java:280)
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.toString(MessageExchangeImpl.java:723)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:343)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:410)
at
org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:135)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:397)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:42)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:619)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:168)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:175)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:226)
at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Thread.java:595)
11:49:24,071 | DEBUG | Thread-13 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 343 | Sent: null
11:49:24,071 | DEBUG | Thread-13 | SedaFlow |
emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
11:49:24,081 | DEBUG | Thread-14 | MessageExchangeImpl |
.messaging.MessageExchangeImpl 742 | Error caught in toString
java.io.IOException: Attempted read on closed stream.
at
org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:165)
at
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:85)
at
org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown
Source)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(SourceTransformer.java:226)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(SourceTransformer.java:138)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTransformer.java:280)
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.toString(MessageExchangeImpl.java:723)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:224)
at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Thread.java:595)
11:49:24,081 | DEBUG | Thread-14 | SedaQueue |
.jbi.nmr.flow.seda.SedaQueue$1 224 |
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@14b9a74 dequeued
exchange: null
11:49:24,081 | DEBUG | Thread-14 | MessageExchangeImpl |
.messaging.MessageExchangeImpl 742 | Error caught in toString
java.io.IOException: Attempted read on closed stream.
at
org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:165)
at
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:85)
at
org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown
Source)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(SourceTransformer.java:226)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(SourceTransformer.java:138)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTransformer.java:280)
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.toString(MessageExchangeImpl.java:723)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:577)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:168)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:175)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:226)
at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Thread.java:595)
11:49:24,081 | DEBUG | Thread-14 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 577 | Processing inbound exchange: null
11:49:24,081 | DEBUG | Thread-14 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 713 | Notifying exchange
ID:L71037263-1587-1155051932077-1:1(b48b11) in DeliveryChannel{httpReceiver}
from processInboundSynchronousExchange
11:49:24,081 | DEBUG | btpool0-2 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 707 | Notified:
ID:L71037263-1587-1155051932077-1:1(b48b11) in DeliveryChannel{httpReceiver}
from sendSync
11:49:24,081 | ERROR | btpool0-2 | log |
rg.slf4j.impl.JCLLoggerAdapter 443 | /:
java.lang.NullPointerException
at
org.apache.servicemix.components.http.HttpMarshaler.toResponse(HttpMarshaler.java:115)
at
org.apache.servicemix.components.http.HttpInOutBinding.processInOut(HttpInOutBinding.java:68)
at
org.apache.servicemix.components.http.HttpInOutBinding.process(HttpInOutBinding.java:44)
at
org.apache.servicemix.components.http.BindingServlet.doPost(BindingServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:542)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.mortbay.jetty.Server.handle(Server.java:245)
at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:365)
at org.mortbay.jetty.HttpConnection.access$1500(HttpConnection.java:38)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:623)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:610)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:196)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:296)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:159)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:435)
11:49:24,091 | ERROR | btpool0-2 | log |
rg.slf4j.impl.JCLLoggerAdapter 443 | /
java.lang.NullPointerException
at
org.apache.servicemix.components.http.HttpMarshaler.toResponse(HttpMarshaler.java:115)
at
org.apache.servicemix.components.http.HttpInOutBinding.processInOut(HttpInOutBinding.java:68)
at
org.apache.servicemix.components.http.HttpInOutBinding.process(HttpInOutBinding.java:44)
at
org.apache.servicemix.components.http.BindingServlet.doPost(BindingServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:355)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:542)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.mortbay.jetty.Server.handle(Server.java:245)
at org.mortbay.jetty.HttpConnection.handlerRequest(HttpConnection.java:365)
at org.mortbay.jetty.HttpConnection.access$1500(HttpConnection.java:38)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:623)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:610)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:196)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:296)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:159)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:435)
11:49:33,364 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
11:49:33,364 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
11:49:43,369 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
11:49:43,369 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
===== end of log
if I switch destinationService to saajBinding instead of using http
provider, I got different errors
===
12:05:40,575 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=ManagementContext
12:05:40,625 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=EnvironmentContext
12:05:40,645 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=Registry
12:05:40,655 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=DefaultBroker
12:05:40,695 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 1008 | Activating component for:
[container=ServiceMix,name=#SubscriptionManager#] with service: null
component: org.apache.servicemix.jbi.nmr.SubscriptionManager@18aab40
12:05:40,695 | INFO | main | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 184 | Initializing component:
#SubscriptionManager#
12:05:40,815 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=InstallationService
12:05:40,835 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=DeploymentService
12:05:40,936 | INFO | main | DeploymentService |
bi.framework.DeploymentService 683 | Restoring service assemblies
12:05:40,936 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=AutoDeploymentService
12:05:40,956 | DEBUG | main | AutoDeploymentService |
ramework.AutoDeploymentService 564 | State file doesn't exist:
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install.xml
12:05:40,956 | DEBUG | main | AutoDeploymentService |
ramework.AutoDeploymentService 564 | State file doesn't exist:
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy.xml
12:05:40,956 | DEBUG | main | ManagementContext |
i.management.ManagementContext 570 | Registering system service:
org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=AdminCommandsService
12:05:40,966 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 538 | ServiceMix JBI Container
(http://servicemix.org/) name: ServiceMix running version: 3.0-SNAPSHOT
12:05:40,976 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 1008 | Activating component for:
[container=ServiceMix,name=httpReceiver] with service:
{http://servicemix.org/demo/}httpBinding component:
org.apache.servicemix.components.http.HttpConnector@b0a3f5
12:05:40,976 | INFO | main | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 184 | Initializing component: httpReceiver
12:05:40,976 | DEBUG | main | ComponentContextImpl |
framework.ComponentContextImpl 133 | Component: httpReceiver activated
endpoint: {http://servicemix.org/demo/}httpBinding : httpReceiver
12:05:40,976 | DEBUG | main | EndpointRegistry |
jbi.framework.EndpointRegistry 239 | Endpoint
ServiceEndpoint[service={http://servicemix.org/demo/}httpBinding,endpoint=httpReceiver]
has no service description
12:05:41,076 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | Logging to
org.slf4j.impl.JCLLoggerAdapter@1c54796 via org.mortbay.log.Slf4jLog
12:05:41,096 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 1008 | Activating component for:
[container=ServiceMix,name=saajBinding] with service:
{http://servicemix.org/demo/}saajBinding component:
org.apache.servicemix.components.saaj.SaajBinding@ded0f0
12:05:41,106 | INFO | main | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 184 | Initializing component: saajBinding
12:05:41,146 | DEBUG | main | ComponentContextImpl |
framework.ComponentContextImpl 133 | Component: saajBinding activated
endpoint: {http://servicemix.org/demo/}saajBinding : saajBinding
12:05:41,146 | DEBUG | main | EndpointRegistry |
jbi.framework.EndpointRegistry 239 | Endpoint
ServiceEndpoint[service={http://servicemix.org/demo/}saajBinding,endpoint=saajBinding]
has no service description
12:05:41,146 | INFO | main | JBIContainer |
mix.jbi.container.JBIContainer 1008 | Activating component for:
[container=ServiceMix,name=provider] with service: null component:
org.apache.servicemix.http.HttpSpringComponent@778255
12:05:41,146 | INFO | main | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 184 | Initializing component: provider
12:05:41,146 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 103 | Initializing component
12:05:41,206 | DEBUG | main | JBIContainer |
mix.jbi.container.JBIContainer 654 | No transaction manager found from
naming context: remaining name: java:appserver/TransactionManager
12:05:41,246 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 110 | Component initialized
12:05:41,286 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | jetty 6.0.0beta15
12:05:41,366 | INFO | main | log |
rg.slf4j.impl.JCLLoggerAdapter 216 | Started SocketConnector @
L71037263.us.ray.com:8912
12:05:41,376 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 195 | Starting component
12:05:41,917 | DEBUG | main | HttpSpringComponent |
e.servicemix.http.HttpEndpoint 134 | Service for targetService could not be
found
12:05:41,917 | DEBUG | main | ComponentContextImpl |
framework.ComponentContextImpl 133 | Component: provider activated
endpoint: {http://servicemix.org/demo/}CatalogWebService :
catalogWebServiceEP
12:05:41,917 | DEBUG | main | HttpSpringComponent |
ervicemix.common.BaseComponent 72 | Querying service description for
ServiceEndpoint[service={http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP]
12:05:41,917 | DEBUG | main | HttpSpringComponent |
ervicemix.common.BaseComponent 80 | No description found for
{http://servicemix.org/demo/}CatalogWebService:catalogWebServiceEP
12:05:41,927 | DEBUG | main | EndpointRegistry |
jbi.framework.EndpointRegistry 239 | Endpoint
ServiceEndpoint[service={http://servicemix.org/demo/}CatalogWebService,endpoint=catalogWebServiceEP]
has no service description
12:05:41,967 | DEBUG | main | HttpSpringComponent |
emix.common.AsyncBaseLifeCycle 201 | Component started
12:05:41,967 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
12:05:41,967 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
12:05:47,515 | DEBUG | btpool0-1 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 171 | default destination serviceName for
httpReceiver = {http://servicemix.org/demo/}saajBinding
12:05:47,535 | DEBUG | btpool0-1 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 437 | SendSync
ID:L71037263-1608-1155053140705-1:0 in DeliveryChannel{httpReceiver}
12:05:47,655 | DEBUG | btpool0-1 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 343 | Sent: MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Active
role: consumer
service: {http://servicemix.org/demo/}saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
]
12:05:47,655 | DEBUG | btpool0-1 | DefaultBroker |
rvicemix.jbi.nmr.DefaultBroker 390 | Routing exchange MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Active
role: provider
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
] to:
ServiceEndpoint[service={http://servicemix.org/demo/}saajBinding,endpoint=saajBinding]
12:05:47,655 | DEBUG | btpool0-1 | SedaFlow |
emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
12:05:47,675 | DEBUG | btpool0-1 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 697 | Waiting for exchange
ID:L71037263-1608-1155053140705-1:0 (5db5ae) to be answered in
DeliveryChannel{httpReceiver} from sendSync
12:05:47,675 | DEBUG | Thread-9 | SedaQueue |
.jbi.nmr.flow.seda.SedaQueue$1 224 |
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@5d855f dequeued
exchange: MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Active
role: provider
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
]
12:05:47,675 | DEBUG | Thread-9 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 577 | Processing inbound exchange:
MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Active
role: provider
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
]
12:05:47,675 | DEBUG | Thread-9 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 613 | Received: MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Active
role: provider
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
]
12:05:48,046 | DEBUG | Thread-9 | SaajBinding |
ix.components.saaj.SaajBinding 101 | <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<m:getSiteNames xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
</soapenv:Body>
</soapenv:Envelope>
12:05:51,971 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
12:05:51,971 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
12:06:01,976 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
12:06:01,976 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
12:06:11,970 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
12:06:11,970 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
12:06:20,032 | DEBUG | Thread-9 | SaajMarshaler |
.components.saaj.SaajMarshaler 65 | <?xml version="1.0"
encoding="UTF-8"?><env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><env:Body><env:Fault><faultcode>Client</faultcode><faultstring>Unable
to parse the incoming request. Please make sure that the request is valid:
javax.xml.soap.SOAPException: Unsupported Content-Type:
application/x-www-form-urlencoded</faultstring></env:Fault></env:Body></env:Envelope>
12:06:20,042 | DEBUG | Thread-9 | SaajMarshaler |
.components.saaj.SaajMarshaler 111 | <?xml version="1.0"
encoding="UTF-8"?><env:Fault
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><faultcode/><faultstring/></env:Fault>
12:06:20,042 | DEBUG | Thread-9 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 404 | Send
ID:L71037263-1608-1155053140705-1:0 in DeliveryChannel{saajBinding}
12:06:20,042 | DEBUG | Thread-9 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 343 | Sent: MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Active
role: provider
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><faultcode/><faultstring/></env:Fault>
]
12:06:20,042 | DEBUG | Thread-9 | SedaFlow |
emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
12:06:20,052 | DEBUG | Thread-10 | SedaQueue |
.jbi.nmr.flow.seda.SedaQueue$1 224 |
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1abdac9 dequeued
exchange: MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Active
role: consumer
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><faultcode/><faultstring/></env:Fault>
]
12:06:20,052 | DEBUG | Thread-10 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 577 | Processing inbound exchange:
MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Active
role: consumer
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><faultcode/><faultstring/></env:Fault>
]
12:06:20,052 | DEBUG | Thread-10 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 713 | Notifying exchange
ID:L71037263-1608-1155053140705-1:0(5db5ae) in DeliveryChannel{httpReceiver}
from processInboundSynchronousExchange
12:06:20,052 | DEBUG | btpool0-1 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 707 | Notified:
ID:L71037263-1608-1155053140705-1:0(5db5ae) in DeliveryChannel{httpReceiver}
from sendSync
12:06:20,072 | DEBUG | btpool0-1 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 404 | Send
ID:L71037263-1608-1155053140705-1:0 in DeliveryChannel{httpReceiver}
12:06:20,082 | DEBUG | btpool0-1 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 343 | Sent: MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Done
role: consumer
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><faultcode/><faultstring/></env:Fault>
]
12:06:20,082 | DEBUG | btpool0-1 | SedaFlow |
emix.jbi.nmr.flow.AbstractFlow 115 | Called Flow send
12:06:20,092 | DEBUG | Thread-11 | SedaQueue |
.jbi.nmr.flow.seda.SedaQueue$1 224 |
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@e7d53 dequeued exchange:
MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Done
role: provider
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><faultcode/><faultstring/></env:Fault>
]
12:06:20,092 | DEBUG | Thread-11 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 577 | Processing inbound exchange:
MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Done
role: provider
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><faultcode/><faultstring/></env:Fault>
]
12:06:20,102 | DEBUG | Thread-11 | DeliveryChannelImpl |
.messaging.DeliveryChannelImpl 613 | Received: MessageExchange[
id: ID:L71037263-1608-1155053140705-1:0
status: Done
role: provider
service: {http://servicemix.org/demo/}saajBinding
endpoint: saajBinding
in: <?xml version="1.0" encoding="UTF-8"?><m:getSiteNames
xmlns:m="http://mil.dcgs/CatalogWebService">
</m:getSiteNames>
out: <?xml version="1.0" encoding="UTF-8"?><env:Fault
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><faultcode/><faultstring/></env:Fault>
]
12:06:21,975 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
12:06:21,975 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
12:06:31,969 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\install
for new or modified archives
12:06:31,969 | DEBUG | Timer-2 | AutoDeploymentService |
ramework.AutoDeploymentService 484 | Monitoring directory
C:\incubating-servicemix-3.0-SNAPSHOT\examples\http-binding\rootDir\deploy
for new or modified archives
====
Thanks in advance
-yangf
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5709719
Sent from the ServiceMix - User forum at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
Yes, they basically do the same thing, but servicemix-http is faster and has
more features (mime. ws-addressing, ws-security, soap 1.1 / 1.2, wsdl,
etc...).
On 8/8/06, yangf <fa...@raytheon.com> wrote:
>
>
> Thank you very much. It is very helpful.
>
> I have another question on http consumer ...
>
> It looks to me that httpendpoint consumer does the same job as
> httpreceiver,
> httpconnector, httpsoapconnector do. is that true? any difference between
> them? which is better?
>
>
>
> -yangf
> --
> View this message in context:
> http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5707061
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: External Webservices binding (the answer)
Posted by yangf <fa...@raytheon.com>.
Thank you very much. It is very helpful.
I have another question on http consumer ...
It looks to me that httpendpoint consumer does the same job as httpreceiver,
httpconnector, httpsoapconnector do. is that true? any difference between
them? which is better?
-yangf
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5707061
Sent from the ServiceMix - User forum at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
On 8/7/06, yangf <fa...@raytheon.com> wrote:
>
>
> Thank you very much. It did help me to get the stuffs stright.
>
> I think my #2 question was mixed with #3 in edit. sorry about it. my
> question # 2 & #3 should be
>
> 2. can the http provider receive soap message directly from the http
> consumer without being specified as targetService in the consumer? It
> means
> if the targetService in http consumer is not specified, can the http
> provider get the request via NMR? and , if I specified the http provider
> as
> targetservice directly in the consumer intead using a router, can the
> provider get the request from consumer?
>From the JBI routing mechanism point of view, there is no difference between
a
provider endpoint for servicemix-http and a saaj endpoint. You need to
specify
a targetService or targetInterface name.
3.what is the request format sent from the client to the http consumer? what
> does the request look like? I mean how to include operation name,
> parameters in request xml string. do I need to refer to WSDL for namespace
> in request?
It should be quite the same than the one you sent to the saaj binding.
I guess it may somewhat depend on your provider, but usally, the soap
request will be sufficient.
-yangf
>
> --
> View this message in context:
> http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5696115
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: External Webservices binding (the answer)
Posted by yangf <fa...@raytheon.com>.
Thank you very much. It did help me to get the stuffs stright.
I think my #2 question was mixed with #3 in edit. sorry about it. my
question # 2 & #3 should be
2. can the http provider receive soap message directly from the http
consumer without being specified as targetService in the consumer? It means
if the targetService in http consumer is not specified, can the http
provider get the request via NMR? and , if I specified the http provider as
targetservice directly in the consumer intead using a router, can the
provider get the request from consumer?
3.what is the request format sent from the client to the http consumer? what
does the request look like? I mean how to include operation name,
parameters in request xml string. do I need to refer to WSDL for namespace
in request?
-yangf
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5696115
Sent from the ServiceMix - User forum at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
On 8/7/06, yangf <fa...@raytheon.com> wrote:
>
>
> Hi, I am playing with servicemix-http and saajbinding. I have the
> following
> question on the post.
>
> 1. according to your comments, does it mean that there is no need to have
> saajbinding as invoke in the post because http provider can do the same
> job?
> The execution flow will be SOAP client -> http consumer -> http provider
> ->
> external web service if swith <eip:exchange-target
> service="myns:targetForAxis" /> to <eip:exchange-target
> service="ns1:AxisWebservice" /> in the specified router. Is it correct?
Yes
2. can the http provider receive soap message directly from the http
> consumer without being specified as targetService in the consumer? I mean
> how to include operation name, parameters in request xml string.
Not sure to understand your question. Maybe I missed something in my
previous mail.
Any valid JBI routing can be used, so you can use either (by priority order)
* a ServiceEndpoint (usually found by service qname + endpoint name)
* service qname
* interface qname
The operation and other attributes are not used by the container to route
exchange.
thanks a lot
>
>
> -yangf
>
> 3. what is the request format sent from the client to the http consumer?
> what does the request look like?
You just need to send the soap body content as the content of the jbi
message.
--
> View this message in context:
> http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5690723
> Sent from the ServiceMix - User forum at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
Re: External Webservices binding (the answer)
Posted by yangf <fa...@raytheon.com>.
Hi, I am playing with servicemix-http and saajbinding. I have the following
question on the post.
1. according to your comments, does it mean that there is no need to have
saajbinding as invoke in the post because http provider can do the same job?
The execution flow will be SOAP client -> http consumer -> http provider ->
external web service if swith <eip:exchange-target
service="myns:targetForAxis" /> to <eip:exchange-target
service="ns1:AxisWebservice" /> in the specified router. Is it correct?
2. can the http provider receive soap message directly from the http
consumer without being specified as targetService in the consumer? I mean
how to include operation name, parameters in request xml string.
thanks a lot
-yangf
3. what is the request format sent from the client to the http consumer?
what does the request look like?
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463.html#a5690723
Sent from the ServiceMix - User forum at Nabble.com.
Re: External Webservices binding (the answer)
Posted by rbuskens <ro...@rbuskens.ca>.
never mind. I figured it out.
consumer su bean.xml is:
<http:endpoint service="pbank:Account"
endpoint="pbankAccountEP"
targetService="ibank:Account"
targetEndpoint="bankProviderEP"
role="consumer"
locationURI="http://localhost:8080/bank/services/AccountService"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true" />
seems I was missing the targetEndpoint which is needed when specifying a
targetServices.
so works now.
I use the soap ui eclipse plugin to fire a request to 8080 for the account
service.
It gets mapped to the provider, and goes out on 8081 which is tomcat with
axis...
So....
client can access the esb.
can put a service from a back end (tomcat/axis in this case) on the bus.
can route the consumer to the provider.
all tucked into a service assembley.
I've not run into any routing security.... is there a way to specify
security rules on NMR?
rbuskens wrote:
>
> I've been working through this myself for a while now.
>
> What I was trying to do, and I think it is similiar, is the following:
>
> external consumer --> http service consumer with targetServer = ---> http
> service provider --> external soap web service
>
> I am getting a service availabe from the consumer into service mix.
> When I try to run it it fails as it can't route to the target. (service
> not found).
>
> So it seems... according to this post I've got to involve some other
> pieces, such as eip:wireTap.
>
> So you can't target a consumer to a provider?
>
> <http:endpoint service="pbank:Account"
> endpoint="pbankAccountEP"
> targetService="ibank:Account"
> role="consumer"
>
> locationURI="http://localhost:8080/bank/services/AccountService/"
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
> soap="true" />
>
> <http:endpoint service="ibank:Account"
> endpoint="bankProviderEP"
> role="provider"
>
> locationURI="http://localhost:8081/bank/services/AccountService/"
>
> wsdlResource="http://localhost:8081/bank/services/AccountService?wsdl"
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
> soap="true" />
>
>
>
> gnodet wrote:
>>
>> Nice post, this is worth a wiki page -- whenever you want ;)
>>
>> I have a few remarks:
>> * The provider endpoints are not used in this example as the eip
>> routers
>> redirect to the saaj bindings
>> you can use them instead of the saaj bindings by switching the
>> <eip:exchange-target service="myns:targetForAxis" /> on the eip
>> routers
>> to
>> <eip:exchange-target service="ns1:AxisWebservice" />
>> * On the consumer definitions, the targetInterfaceName is not needed
>> and
>> will not be used as the
>> targetServiceName is specified
>> * On the http providers endpoint, the targetService is not used (this
>> is
>> only for consumers)
>>
>> Cheers,
>> Guillaume Nodet
>>
>> On 7/20/06, Alessio D'Innocenti <ka...@katamail.com> wrote:
>>>
>>> After many, many, too many attempts, finally I have understood how to
>>> expose external webservice, that is how to proxy one or more webservices
>>> (wsdl included).
>>> (servicemix.xml file is attached)
>>>
>>> Suppose I have two webservice to proxy at urls
>>> http://pc-webservice:8080/axis/services/AxisWebservice
>>> http://pc-webservice2:8080/xfire/services/XFireWebservice
>>>
>>> 1) I have to connect the wsdl and the remote webservices to the
>>> endpoints (providers)
>>>
>>> <http:endpoint service="ns1:AxisWebservice"
>>> endpoint="axisWebserviceEP"
>>> targetService="ns1:AxisWebservice"
>>> role="provider"
>>>
>>> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>>>
>>> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
>>> />
>>> <http:endpoint service="ns2:XFireWebservice"
>>> endpoint="xfireWebserviceEP"
>>> targetService="ns2:XFireWebservice"
>>> role="provider"
>>>
>>> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>>>
>>> wsdlResource="
>>> http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
>>> />
>>>
>>> 1) I have to make a connector for riceiving requests form clients
>>> (consumers). I used http-component to make this:
>>>
>>> <http:endpoint
>>> service="ns1:AxisWebservice"
>>> endpoint="axisWebserviceEP"
>>> targetService="myns:routerForAxis"
>>> role="consumer" soap="true"
>>>
>>> targetInterfaceName="ns1:AxisWebservicePortType"
>>>
>>> locationURI="http://localhost:8080/services/AxisService/"
>>>
>>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>>> <http:endpoint service="ns2:XFireWebservice"
>>> endpoint="xfireWebserviceEP"
>>> targetService="myns:routerForXFire"
>>> role="consumer" soap="true"
>>>
>>>
>>> targetInterfaceName="ns1:XFireWebserviceSEI"
>>>
>>> locationURI="http://172.30.10.183:8888/services/XFireService/"
>>>
>>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>>>
>>> 3) I have to create an invoker for the webservice
>>>
>>> <sm:activationSpec componentName="axisServiceComponent"
>>> service="myns:targetForAxis" endpoint="axisService">
>>> <sm:component>
>>> <bean
>>> class="org.apache.servicemix.components.saaj.SaajBinding">
>>> <property name="soapAction" value="" />
>>> <property name="soapEndpoint">
>>> <bean
>>> class="javax.xml.messaging.URLEndpoint">
>>> <constructor-arg
>>> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
>>> </bean>
>>> </property>
>>> </bean>
>>> </sm:component>
>>> </sm:activationSpec>
>>> <sm:activationSpec componentName="xfireServiceComponent"
>>> service="myns:targetForXFire" endpoint="xfireService">
>>> <sm:component>
>>> <bean
>>> class="org.apache.servicemix.components.saaj.SaajBinding">
>>> <property name="soapAction" value="" />
>>> <property name="soapEndpoint">
>>> <bean
>>> class="javax.xml.messaging.URLEndpoint">
>>> <constructor-arg
>>> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
>>> </bean>
>>> </property>
>>> </bean>
>>> </sm:component>
>>> </sm:activationSpec>
>>>
>>> 4) Now let's create a service for redirecting the request, for example
>>> the wireTrap router.
>>>
>>> <sm:activationSpec componentName="wireTrapAxis">
>>> <sm:component>
>>> <eip:component>
>>> <eip:endpoints>
>>> <eip:wire-tap
>>> endpoint="wireTrapAxisEndpoint"
>>> service="myns:axisWireTrap">
>>> <eip:target>
>>> <eip:exchange-target
>>> service="myns:targetForAxis" />
>>> </eip:target>
>>> <eip:outListener>
>>> <eip:exchange-target
>>> service="myns:trace" />
>>> </eip:outListener>
>>> </eip:wire-tap>
>>> </eip:endpoints>
>>> </eip:component>
>>> </sm:component>
>>> </sm:activationSpec>
>>> <sm:activationSpec componentName="wireTrapXFire">
>>> <sm:component>
>>> <eip:component>
>>> <eip:endpoints>
>>> <eip:wire-tap
>>> endpoint="wireTrapXFireEndpoint"
>>> service="myns:xfireWireTrap">
>>> <eip:target>
>>> <eip:exchange-target
>>> service="myns:targetForXFire" />
>>> </eip:target>
>>> <eip:outListener>
>>> <eip:exchange-target
>>> service="myns:trace" />
>>> </eip:outListener>
>>> </eip:wire-tap>
>>> </eip:endpoints>
>>> </eip:component>
>>> </sm:component>
>>> </sm:activationSpec>
>>>
>>> The myns:trace service is simply a logger components that log messages
>>>
>>> 5) The chain is finished now we have the two external webservices
>>> exposed at urls
>>> http://localhost:8080/services/AxisService/
>>> http://localhost:8080/services/XFireService/
>>>
>>> and their wsdl
>>>
>>> http://localhost:8080/services/AxisService?wsdl
>>> http://localhost:8080/services/XFireService?wsdl
>>>
>>> 6) complete listing of servicemix.xml and some explanation
>>>
>>> <!-- Namespaces of the webservices wsdl must match the local namespaces
>>> of the servicemix local services.
>>> Take a look at the ns1 and ns2 namespaces.
>>> You can retrieve this namespaces from the first line of the wsdl
>>> document
>>> as attribute of the root tag definitions.
>>> <definitions name="AxisWebservice"
>>> targetNamespace="http://axis.webservice.namespace">
>>>
>>> The myns namespace is a user choosen namespace for dividing external
>>> service from servicemix internal services
>>> -->
>>>
>>> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
>>> xmlns:eip="http://servicemix.apache.org/eip/1.0"
>>> xmlns:http="http://servicemix.apache.org/http/1.0"
>>> xmlns:ns1="http://axis.webservice.namespace"
>>> xmlns:ns2="http://xfire.webservice.namespace"
>>> xmlns:myns="http://myNameSpace/servicemix/1.0">
>>>
>>> <!-- the JBI container -->
>>> <sm:container id="jbi" useMBeanServer="true"
>>> createMBeanServer="true" dumpStats="true" statsInterval="10">
>>> <sm:activationSpecs>
>>> <sm:activationSpec componentName="provider">
>>> <sm:component>
>>> <http:component>
>>> <http:endpoints>
>>> <!-- REMEBER: Namespaces of the webservices
>>> wsdl must match the local
>>> namespaces of the servicemix local
>>> services.
>>> You can retrieve this namespace from the
>>> first line of the wsdl document
>>> as attribute of the root tag
>>> definitions.
>>> <definitions name="AxisWebservice"
>>> targetNamespace="http://axis.webservice.namespace">
>>>
>>> The name of the local servicemix service
>>> and targetService
>>> (service="ns1:AxisWebservice"
>>> targetService="ns1:AxisWebservice")
>>> must match the name of the webservice.
>>> This information is in the wsdl too, as
>>> attribute of tag <service
>>> name="AxisWebservice"> (at the end of wsdl)
>>>
>>> The endpoint name
>>> (endpoint="axisWebserviceEP") is a your choice.
>>>
>>> The role must be provider
>>> (role="provider")
>>>
>>> The wsdlResource must point to the wsdl
>>> definition
>>>
>>> (wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl
>>> ")
>>>
>>> The locationURI is the address where the
>>> webservice is listening.
>>>
>>> (locationURI="http://pc-webservice:8080/axis/services/AxisWebservice")
>>> Also this can be retrieved from wsdl as
>>> attribute of tag
>>> <wsdlsoap:address
>>> location="http://pc-webservice:8080/axis/services/AxisWebservice"/>
>>> at the end of wsdl
>>> -->
>>> <http:endpoint service="ns1:AxisWebservice"
>>> endpoint="axisWebserviceEP"
>>> targetService="ns1:AxisWebservice"
>>> role="provider"
>>>
>>> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>>>
>>> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
>>> />
>>> <http:endpoint service="ns2:XFireWebservice"
>>> endpoint="xfireWebserviceEP"
>>> targetService="ns2:XFireWebservice"
>>> role="provider"
>>>
>>> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>>>
>>> wsdlResource="
>>> http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
>>> />
>>> </http:endpoints>
>>> </http:component>
>>> </sm:component>
>>> </sm:activationSpec>
>>>
>>> <sm:activationSpec componentName="consumer">
>>> <sm:component>
>>> <http:component>
>>> <http:endpoints>
>>> <!-- The name of the local servicemix
>>> service and endpoint must match the linked provider http:endpoint
>>> (service="ns1:AxisWebservice"
>>> endpoint="axisWebserviceEP")
>>>
>>> The role must be consumer
>>> (role="consumer")
>>>
>>> The soap attribute must be true for
>>> compliant wsdl (soap="true")
>>>
>>> The locationURI is the address where
>>> servicemix must expose the webservice.
>>>
>>> (locationURI="http://localhost:8080/services/AxisService/")
>>>
>>> The targetInterface name is the name of
>>> the interface to expose.
>>> You can retrieve this from wsdl as
>>> attribute of tag <portType name="AxisWebservicePortType">
>>> in the middle of wsdl.
>>>
>>> The defaultMep attribute is for
>>> specifying if the endpoint is for in-out (wait for response)
>>>
>>> (defaultMep="http://www.w3.org/2004/08/wsdl/in-out")
>>>
>>> The targetService is the servicemix
>>> local service to forwarding received message
>>> (targetService="myns:routerForAxis")
>>> -->
>>> <http:endpoint service="ns1:AxisWebservice"
>>> endpoint="axisWebserviceEP"
>>> targetService="myns:routerForAxis"
>>> role="consumer" soap="true"
>>>
>>> targetInterfaceName="ns1:AxisWebservicePortType"
>>>
>>> locationURI="http://localhost:8080/services/AxisService/"
>>>
>>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>>> <http:endpoint service="ns2:XFireWebservice"
>>> endpoint="xfireWebserviceEP"
>>> targetService="myns:routerForXFire"
>>> role="consumer" soap="true"
>>>
>>>
>>> targetInterfaceName="ns1:XFireWebserviceSEI"
>>>
>>> locationURI="http://172.30.10.183:8888/services/XFireService/"
>>>
>>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>>> </http:endpoints>
>>> </http:component>
>>> </sm:component>
>>> </sm:activationSpec>
>>>
>>> <!-- This component invokes the remote service.
>>> The soapAction property is the default soapAction.
>>> Without this property set no SOAPAction header is addes
>>> and some
>>> webservices providers (like Axis) could not work -->
>>> <sm:activationSpec componentName="axisServiceComponent"
>>> service="myns:targetForAxis" endpoint="axisService">
>>> <sm:component>
>>> <bean
>>>
>>> class="org.apache.servicemix.components.saaj.SaajBinding">
>>> <property name="soapAction" value="" />
>>> <property name="soapEndpoint">
>>> <bean
>>> class="javax.xml.messaging.URLEndpoint">
>>> <constructor-arg
>>>
>>> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
>>> </bean>
>>> </property>
>>> </bean>
>>> </sm:component>
>>> </sm:activationSpec>
>>> <sm:activationSpec componentName="xfireServiceComponent"
>>> service="myns:targetForXFire" endpoint="xfireService">
>>> <sm:component>
>>> <bean
>>>
>>> class="org.apache.servicemix.components.saaj.SaajBinding">
>>> <property name="soapAction" value="" />
>>> <property name="soapEndpoint">
>>> <bean
>>> class="javax.xml.messaging.URLEndpoint">
>>> <constructor-arg
>>>
>>> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
>>> </bean>
>>> </property>
>>> </bean>
>>> </sm:component>
>>> </sm:activationSpec>
>>>
>>> <!-- This is a simple trace component to log messages routed
>>> here -->
>>> <sm:activationSpec componentName="trace"
>>> service="int:trace">
>>> <sm:component>
>>> <bean xmlns="http://xbean.org/schemas/spring/1.0"
>>>
>>> class="org.apache.servicemix.components.util.TraceComponent" />
>>> </sm:component>
>>> </sm:activationSpec>
>>>
>>> <!-- The routing services -->
>>> <sm:activationSpec componentName="wireTrapAxis">
>>> <sm:component>
>>> <eip:component>
>>> <eip:endpoints>
>>> <eip:wire-tap
>>> endpoint="wireTrapAxisEndpoint"
>>> service="myns:routerForAxis">
>>> <eip:target>
>>> <eip:exchange-target
>>> service="myns:targetForAxis" />
>>> </eip:target>
>>> <eip:outListener>
>>> <eip:exchange-target
>>> service="myns:trace" />
>>> </eip:outListener>
>>> </eip:wire-tap>
>>> </eip:endpoints>
>>> </eip:component>
>>> </sm:component>
>>> </sm:activationSpec>
>>> <sm:activationSpec componentName="wireTrapXFire">
>>> <sm:component>
>>> <eip:component>
>>> <eip:endpoints>
>>> <eip:wire-tap
>>> endpoint="wireTrapXFireEndpoint"
>>> service="myns:routerForXFire">
>>> <eip:target>
>>> <eip:exchange-target
>>> service="myns:targetForXFire" />
>>> </eip:target>
>>> <eip:outListener>
>>> <eip:exchange-target
>>> service="myns:trace" />
>>> </eip:outListener>
>>> </eip:wire-tap>
>>> </eip:endpoints>
>>> </eip:component>
>>> </sm:component>
>>> </sm:activationSpec>
>>> </sm:activationSpecs>
>>> </sm:container>
>>> </beans>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463s12049.html#a10123457
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: External Webservices binding (the answer)
Posted by rbuskens <ro...@rbuskens.ca>.
I've been working through this myself for a while now.
What I was trying to do, and I think it is similiar, is the following:
external consumer --> http service consumer with targetServer = ---> http
service provider --> external soap web service
I am getting a service availabe from the consumer into service mix.
When I try to run it it fails as it can't route to the target. (service not
found).
So it seems... according to this post I've got to involve some other pieces,
such as eip:wireTap.
So you can't target a consumer to a provider?
<http:endpoint service="pbank:Account"
endpoint="pbankAccountEP"
targetService="ibank:Account"
role="consumer"
locationURI="http://localhost:8080/bank/services/AccountService/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true" />
<http:endpoint service="ibank:Account"
endpoint="bankProviderEP"
role="provider"
locationURI="http://localhost:8081/bank/services/AccountService/"
wsdlResource="http://localhost:8081/bank/services/AccountService?wsdl"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true" />
gnodet wrote:
>
> Nice post, this is worth a wiki page -- whenever you want ;)
>
> I have a few remarks:
> * The provider endpoints are not used in this example as the eip routers
> redirect to the saaj bindings
> you can use them instead of the saaj bindings by switching the
> <eip:exchange-target service="myns:targetForAxis" /> on the eip
> routers
> to
> <eip:exchange-target service="ns1:AxisWebservice" />
> * On the consumer definitions, the targetInterfaceName is not needed and
> will not be used as the
> targetServiceName is specified
> * On the http providers endpoint, the targetService is not used (this is
> only for consumers)
>
> Cheers,
> Guillaume Nodet
>
> On 7/20/06, Alessio D'Innocenti <ka...@katamail.com> wrote:
>>
>> After many, many, too many attempts, finally I have understood how to
>> expose external webservice, that is how to proxy one or more webservices
>> (wsdl included).
>> (servicemix.xml file is attached)
>>
>> Suppose I have two webservice to proxy at urls
>> http://pc-webservice:8080/axis/services/AxisWebservice
>> http://pc-webservice2:8080/xfire/services/XFireWebservice
>>
>> 1) I have to connect the wsdl and the remote webservices to the
>> endpoints (providers)
>>
>> <http:endpoint service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP"
>> targetService="ns1:AxisWebservice"
>> role="provider"
>>
>> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>>
>> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
>> />
>> <http:endpoint service="ns2:XFireWebservice"
>> endpoint="xfireWebserviceEP"
>> targetService="ns2:XFireWebservice"
>> role="provider"
>>
>> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>>
>> wsdlResource="
>> http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
>> />
>>
>> 1) I have to make a connector for riceiving requests form clients
>> (consumers). I used http-component to make this:
>>
>> <http:endpoint
>> service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP"
>> targetService="myns:routerForAxis"
>> role="consumer" soap="true"
>>
>> targetInterfaceName="ns1:AxisWebservicePortType"
>>
>> locationURI="http://localhost:8080/services/AxisService/"
>>
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>> <http:endpoint service="ns2:XFireWebservice"
>> endpoint="xfireWebserviceEP"
>> targetService="myns:routerForXFire"
>> role="consumer" soap="true"
>>
>>
>> targetInterfaceName="ns1:XFireWebserviceSEI"
>>
>> locationURI="http://172.30.10.183:8888/services/XFireService/"
>>
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>>
>> 3) I have to create an invoker for the webservice
>>
>> <sm:activationSpec componentName="axisServiceComponent"
>> service="myns:targetForAxis" endpoint="axisService">
>> <sm:component>
>> <bean
>> class="org.apache.servicemix.components.saaj.SaajBinding">
>> <property name="soapAction" value="" />
>> <property name="soapEndpoint">
>> <bean
>> class="javax.xml.messaging.URLEndpoint">
>> <constructor-arg
>> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>> <sm:activationSpec componentName="xfireServiceComponent"
>> service="myns:targetForXFire" endpoint="xfireService">
>> <sm:component>
>> <bean
>> class="org.apache.servicemix.components.saaj.SaajBinding">
>> <property name="soapAction" value="" />
>> <property name="soapEndpoint">
>> <bean
>> class="javax.xml.messaging.URLEndpoint">
>> <constructor-arg
>> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>>
>> 4) Now let's create a service for redirecting the request, for example
>> the wireTrap router.
>>
>> <sm:activationSpec componentName="wireTrapAxis">
>> <sm:component>
>> <eip:component>
>> <eip:endpoints>
>> <eip:wire-tap endpoint="wireTrapAxisEndpoint"
>> service="myns:axisWireTrap">
>> <eip:target>
>> <eip:exchange-target
>> service="myns:targetForAxis" />
>> </eip:target>
>> <eip:outListener>
>> <eip:exchange-target
>> service="myns:trace" />
>> </eip:outListener>
>> </eip:wire-tap>
>> </eip:endpoints>
>> </eip:component>
>> </sm:component>
>> </sm:activationSpec>
>> <sm:activationSpec componentName="wireTrapXFire">
>> <sm:component>
>> <eip:component>
>> <eip:endpoints>
>> <eip:wire-tap
>> endpoint="wireTrapXFireEndpoint"
>> service="myns:xfireWireTrap">
>> <eip:target>
>> <eip:exchange-target
>> service="myns:targetForXFire" />
>> </eip:target>
>> <eip:outListener>
>> <eip:exchange-target
>> service="myns:trace" />
>> </eip:outListener>
>> </eip:wire-tap>
>> </eip:endpoints>
>> </eip:component>
>> </sm:component>
>> </sm:activationSpec>
>>
>> The myns:trace service is simply a logger components that log messages
>>
>> 5) The chain is finished now we have the two external webservices
>> exposed at urls
>> http://localhost:8080/services/AxisService/
>> http://localhost:8080/services/XFireService/
>>
>> and their wsdl
>>
>> http://localhost:8080/services/AxisService?wsdl
>> http://localhost:8080/services/XFireService?wsdl
>>
>> 6) complete listing of servicemix.xml and some explanation
>>
>> <!-- Namespaces of the webservices wsdl must match the local namespaces
>> of the servicemix local services.
>> Take a look at the ns1 and ns2 namespaces.
>> You can retrieve this namespaces from the first line of the wsdl
>> document
>> as attribute of the root tag definitions.
>> <definitions name="AxisWebservice"
>> targetNamespace="http://axis.webservice.namespace">
>>
>> The myns namespace is a user choosen namespace for dividing external
>> service from servicemix internal services
>> -->
>>
>> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
>> xmlns:eip="http://servicemix.apache.org/eip/1.0"
>> xmlns:http="http://servicemix.apache.org/http/1.0"
>> xmlns:ns1="http://axis.webservice.namespace"
>> xmlns:ns2="http://xfire.webservice.namespace"
>> xmlns:myns="http://myNameSpace/servicemix/1.0">
>>
>> <!-- the JBI container -->
>> <sm:container id="jbi" useMBeanServer="true"
>> createMBeanServer="true" dumpStats="true" statsInterval="10">
>> <sm:activationSpecs>
>> <sm:activationSpec componentName="provider">
>> <sm:component>
>> <http:component>
>> <http:endpoints>
>> <!-- REMEBER: Namespaces of the webservices
>> wsdl must match the local
>> namespaces of the servicemix local
>> services.
>> You can retrieve this namespace from the
>> first line of the wsdl document
>> as attribute of the root tag definitions.
>> <definitions name="AxisWebservice"
>> targetNamespace="http://axis.webservice.namespace">
>>
>> The name of the local servicemix service
>> and targetService
>> (service="ns1:AxisWebservice"
>> targetService="ns1:AxisWebservice")
>> must match the name of the webservice.
>> This information is in the wsdl too, as
>> attribute of tag <service
>> name="AxisWebservice"> (at the end of wsdl)
>>
>> The endpoint name
>> (endpoint="axisWebserviceEP") is a your choice.
>>
>> The role must be provider
>> (role="provider")
>>
>> The wsdlResource must point to the wsdl
>> definition
>>
>> (wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl
>> ")
>>
>> The locationURI is the address where the
>> webservice is listening.
>>
>> (locationURI="http://pc-webservice:8080/axis/services/AxisWebservice")
>> Also this can be retrieved from wsdl as
>> attribute of tag
>> <wsdlsoap:address
>> location="http://pc-webservice:8080/axis/services/AxisWebservice"/>
>> at the end of wsdl
>> -->
>> <http:endpoint service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP"
>> targetService="ns1:AxisWebservice"
>> role="provider"
>>
>> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>>
>> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
>> />
>> <http:endpoint service="ns2:XFireWebservice"
>> endpoint="xfireWebserviceEP"
>> targetService="ns2:XFireWebservice"
>> role="provider"
>>
>> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>>
>> wsdlResource="
>> http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
>> />
>> </http:endpoints>
>> </http:component>
>> </sm:component>
>> </sm:activationSpec>
>>
>> <sm:activationSpec componentName="consumer">
>> <sm:component>
>> <http:component>
>> <http:endpoints>
>> <!-- The name of the local servicemix
>> service and endpoint must match the linked provider http:endpoint
>> (service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP")
>>
>> The role must be consumer
>> (role="consumer")
>>
>> The soap attribute must be true for
>> compliant wsdl (soap="true")
>>
>> The locationURI is the address where
>> servicemix must expose the webservice.
>>
>> (locationURI="http://localhost:8080/services/AxisService/")
>>
>> The targetInterface name is the name of
>> the interface to expose.
>> You can retrieve this from wsdl as
>> attribute of tag <portType name="AxisWebservicePortType">
>> in the middle of wsdl.
>>
>> The defaultMep attribute is for
>> specifying if the endpoint is for in-out (wait for response)
>>
>> (defaultMep="http://www.w3.org/2004/08/wsdl/in-out")
>>
>> The targetService is the servicemix
>> local service to forwarding received message
>> (targetService="myns:routerForAxis")
>> -->
>> <http:endpoint service="ns1:AxisWebservice"
>> endpoint="axisWebserviceEP"
>> targetService="myns:routerForAxis"
>> role="consumer" soap="true"
>>
>> targetInterfaceName="ns1:AxisWebservicePortType"
>>
>> locationURI="http://localhost:8080/services/AxisService/"
>>
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>> <http:endpoint service="ns2:XFireWebservice"
>> endpoint="xfireWebserviceEP"
>> targetService="myns:routerForXFire"
>> role="consumer" soap="true"
>>
>>
>> targetInterfaceName="ns1:XFireWebserviceSEI"
>>
>> locationURI="http://172.30.10.183:8888/services/XFireService/"
>>
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>> </http:endpoints>
>> </http:component>
>> </sm:component>
>> </sm:activationSpec>
>>
>> <!-- This component invokes the remote service.
>> The soapAction property is the default soapAction.
>> Without this property set no SOAPAction header is addes
>> and some
>> webservices providers (like Axis) could not work -->
>> <sm:activationSpec componentName="axisServiceComponent"
>> service="myns:targetForAxis" endpoint="axisService">
>> <sm:component>
>> <bean
>>
>> class="org.apache.servicemix.components.saaj.SaajBinding">
>> <property name="soapAction" value="" />
>> <property name="soapEndpoint">
>> <bean
>> class="javax.xml.messaging.URLEndpoint">
>> <constructor-arg
>>
>> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>> <sm:activationSpec componentName="xfireServiceComponent"
>> service="myns:targetForXFire" endpoint="xfireService">
>> <sm:component>
>> <bean
>>
>> class="org.apache.servicemix.components.saaj.SaajBinding">
>> <property name="soapAction" value="" />
>> <property name="soapEndpoint">
>> <bean
>> class="javax.xml.messaging.URLEndpoint">
>> <constructor-arg
>>
>> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>>
>> <!-- This is a simple trace component to log messages routed
>> here -->
>> <sm:activationSpec componentName="trace"
>> service="int:trace">
>> <sm:component>
>> <bean xmlns="http://xbean.org/schemas/spring/1.0"
>>
>> class="org.apache.servicemix.components.util.TraceComponent" />
>> </sm:component>
>> </sm:activationSpec>
>>
>> <!-- The routing services -->
>> <sm:activationSpec componentName="wireTrapAxis">
>> <sm:component>
>> <eip:component>
>> <eip:endpoints>
>> <eip:wire-tap
>> endpoint="wireTrapAxisEndpoint"
>> service="myns:routerForAxis">
>> <eip:target>
>> <eip:exchange-target
>> service="myns:targetForAxis" />
>> </eip:target>
>> <eip:outListener>
>> <eip:exchange-target
>> service="myns:trace" />
>> </eip:outListener>
>> </eip:wire-tap>
>> </eip:endpoints>
>> </eip:component>
>> </sm:component>
>> </sm:activationSpec>
>> <sm:activationSpec componentName="wireTrapXFire">
>> <sm:component>
>> <eip:component>
>> <eip:endpoints>
>> <eip:wire-tap
>> endpoint="wireTrapXFireEndpoint"
>> service="myns:routerForXFire">
>> <eip:target>
>> <eip:exchange-target
>> service="myns:targetForXFire" />
>> </eip:target>
>> <eip:outListener>
>> <eip:exchange-target
>> service="myns:trace" />
>> </eip:outListener>
>> </eip:wire-tap>
>> </eip:endpoints>
>> </eip:component>
>> </sm:component>
>> </sm:activationSpec>
>> </sm:activationSpecs>
>> </sm:container>
>> </beans>
>>
>>
>>
>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463s12049.html#a10077080
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: External Webservices binding (the answer)
Posted by Guillaume Nodet <gn...@gmail.com>.
Nice post, this is worth a wiki page -- whenever you want ;)
I have a few remarks:
* The provider endpoints are not used in this example as the eip routers
redirect to the saaj bindings
you can use them instead of the saaj bindings by switching the
<eip:exchange-target service="myns:targetForAxis" /> on the eip routers
to
<eip:exchange-target service="ns1:AxisWebservice" />
* On the consumer definitions, the targetInterfaceName is not needed and
will not be used as the
targetServiceName is specified
* On the http providers endpoint, the targetService is not used (this is
only for consumers)
Cheers,
Guillaume Nodet
On 7/20/06, Alessio D'Innocenti <ka...@katamail.com> wrote:
>
> After many, many, too many attempts, finally I have understood how to
> expose external webservice, that is how to proxy one or more webservices
> (wsdl included).
> (servicemix.xml file is attached)
>
> Suppose I have two webservice to proxy at urls
> http://pc-webservice:8080/axis/services/AxisWebservice
> http://pc-webservice2:8080/xfire/services/XFireWebservice
>
> 1) I have to connect the wsdl and the remote webservices to the
> endpoints (providers)
>
> <http:endpoint service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP"
> targetService="ns1:AxisWebservice"
> role="provider"
>
> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>
> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
> />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP"
> targetService="ns2:XFireWebservice"
> role="provider"
>
> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>
> wsdlResource="
> http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
> />
>
> 1) I have to make a connector for riceiving requests form clients
> (consumers). I used http-component to make this:
>
> <http:endpoint
> service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP"
> targetService="myns:routerForAxis"
> role="consumer" soap="true"
>
> targetInterfaceName="ns1:AxisWebservicePortType"
>
> locationURI="http://localhost:8080/services/AxisService/"
>
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP"
> targetService="myns:routerForXFire"
> role="consumer" soap="true"
>
> targetInterfaceName="ns1:XFireWebserviceSEI"
>
> locationURI="http://172.30.10.183:8888/services/XFireService/"
>
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>
> 3) I have to create an invoker for the webservice
>
> <sm:activationSpec componentName="axisServiceComponent"
> service="myns:targetForAxis" endpoint="axisService">
> <sm:component>
> <bean
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="xfireServiceComponent"
> service="myns:targetForXFire" endpoint="xfireService">
> <sm:component>
> <bean
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
>
> 4) Now let's create a service for redirecting the request, for example
> the wireTrap router.
>
> <sm:activationSpec componentName="wireTrapAxis">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap endpoint="wireTrapAxisEndpoint"
> service="myns:axisWireTrap">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForAxis" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="wireTrapXFire">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap endpoint="wireTrapXFireEndpoint"
> service="myns:xfireWireTrap">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForXFire" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
>
> The myns:trace service is simply a logger components that log messages
>
> 5) The chain is finished now we have the two external webservices
> exposed at urls
> http://localhost:8080/services/AxisService/
> http://localhost:8080/services/XFireService/
>
> and their wsdl
>
> http://localhost:8080/services/AxisService?wsdl
> http://localhost:8080/services/XFireService?wsdl
>
> 6) complete listing of servicemix.xml and some explanation
>
> <!-- Namespaces of the webservices wsdl must match the local namespaces
> of the servicemix local services.
> Take a look at the ns1 and ns2 namespaces.
> You can retrieve this namespaces from the first line of the wsdl
> document
> as attribute of the root tag definitions.
> <definitions name="AxisWebservice"
> targetNamespace="http://axis.webservice.namespace">
>
> The myns namespace is a user choosen namespace for dividing external
> service from servicemix internal services
> -->
>
> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
> xmlns:eip="http://servicemix.apache.org/eip/1.0"
> xmlns:http="http://servicemix.apache.org/http/1.0"
> xmlns:ns1="http://axis.webservice.namespace"
> xmlns:ns2="http://xfire.webservice.namespace"
> xmlns:myns="http://myNameSpace/servicemix/1.0">
>
> <!-- the JBI container -->
> <sm:container id="jbi" useMBeanServer="true"
> createMBeanServer="true" dumpStats="true" statsInterval="10">
> <sm:activationSpecs>
> <sm:activationSpec componentName="provider">
> <sm:component>
> <http:component>
> <http:endpoints>
> <!-- REMEBER: Namespaces of the webservices
> wsdl must match the local
> namespaces of the servicemix local
> services.
> You can retrieve this namespace from the
> first line of the wsdl document
> as attribute of the root tag definitions.
> <definitions name="AxisWebservice"
> targetNamespace="http://axis.webservice.namespace">
>
> The name of the local servicemix service
> and targetService
> (service="ns1:AxisWebservice"
> targetService="ns1:AxisWebservice")
> must match the name of the webservice.
> This information is in the wsdl too, as
> attribute of tag <service
> name="AxisWebservice"> (at the end of wsdl)
>
> The endpoint name
> (endpoint="axisWebserviceEP") is a your choice.
>
> The role must be provider
> (role="provider")
>
> The wsdlResource must point to the wsdl
> definition
>
> (wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl
> ")
>
> The locationURI is the address where the
> webservice is listening.
>
> (locationURI="http://pc-webservice:8080/axis/services/AxisWebservice")
> Also this can be retrieved from wsdl as
> attribute of tag
> <wsdlsoap:address
> location="http://pc-webservice:8080/axis/services/AxisWebservice"/>
> at the end of wsdl
> -->
> <http:endpoint service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP"
> targetService="ns1:AxisWebservice"
> role="provider"
>
> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>
> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
> />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP"
> targetService="ns2:XFireWebservice"
> role="provider"
>
> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>
> wsdlResource="
> http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
> />
> </http:endpoints>
> </http:component>
> </sm:component>
> </sm:activationSpec>
>
> <sm:activationSpec componentName="consumer">
> <sm:component>
> <http:component>
> <http:endpoints>
> <!-- The name of the local servicemix
> service and endpoint must match the linked provider http:endpoint
> (service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP")
>
> The role must be consumer
> (role="consumer")
>
> The soap attribute must be true for
> compliant wsdl (soap="true")
>
> The locationURI is the address where
> servicemix must expose the webservice.
>
> (locationURI="http://localhost:8080/services/AxisService/")
>
> The targetInterface name is the name of
> the interface to expose.
> You can retrieve this from wsdl as
> attribute of tag <portType name="AxisWebservicePortType">
> in the middle of wsdl.
>
> The defaultMep attribute is for
> specifying if the endpoint is for in-out (wait for response)
>
> (defaultMep="http://www.w3.org/2004/08/wsdl/in-out")
>
> The targetService is the servicemix
> local service to forwarding received message
> (targetService="myns:routerForAxis")
> -->
> <http:endpoint service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP"
> targetService="myns:routerForAxis"
> role="consumer" soap="true"
>
> targetInterfaceName="ns1:AxisWebservicePortType"
>
> locationURI="http://localhost:8080/services/AxisService/"
>
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP"
> targetService="myns:routerForXFire"
> role="consumer" soap="true"
>
> targetInterfaceName="ns1:XFireWebserviceSEI"
>
> locationURI="http://172.30.10.183:8888/services/XFireService/"
>
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> </http:endpoints>
> </http:component>
> </sm:component>
> </sm:activationSpec>
>
> <!-- This component invokes the remote service.
> The soapAction property is the default soapAction.
> Without this property set no SOAPAction header is addes
> and some
> webservices providers (like Axis) could not work -->
> <sm:activationSpec componentName="axisServiceComponent"
> service="myns:targetForAxis" endpoint="axisService">
> <sm:component>
> <bean
>
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean
> class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
>
> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="xfireServiceComponent"
> service="myns:targetForXFire" endpoint="xfireService">
> <sm:component>
> <bean
>
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean
> class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
>
> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
>
> <!-- This is a simple trace component to log messages routed
> here -->
> <sm:activationSpec componentName="trace"
> service="int:trace">
> <sm:component>
> <bean xmlns="http://xbean.org/schemas/spring/1.0"
>
> class="org.apache.servicemix.components.util.TraceComponent" />
> </sm:component>
> </sm:activationSpec>
>
> <!-- The routing services -->
> <sm:activationSpec componentName="wireTrapAxis">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap
> endpoint="wireTrapAxisEndpoint"
> service="myns:routerForAxis">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForAxis" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="wireTrapXFire">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap
> endpoint="wireTrapXFireEndpoint"
> service="myns:routerForXFire">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForXFire" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
> </sm:activationSpecs>
> </sm:container>
> </beans>
>
>
>
>
>
>
Re: External Webservices binding (the answer)
Posted by jlbarrera <jl...@sadiel.es>.
I try this:
in <-> http(consumer) <---> http(provider) <-> out
by:
<beans
xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:foo="http://ws.es"
xmlns:http="http://servicemix.apache.org/http/1.0"
>
<http:endpoint
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
service="foo:HolaMundoService"
targetService="foo:HolaMundoService"
endpoint="WSAProvider"
role="provider"
locationURI="http://172.18.1.163:6080/webservices/services/HolaMundo"
wsdlResource="http://172.18.1.163:6080/webservices/services/HolaMundo?wsdl"
soap="true">
</http:endpoint>
<http:endpoint
defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
service="foo:HolaMundoService"
endpoint="WSAConsumer"
role="consumer"
locationURI="http://localhost:8080/jlbarreraWS"
targetInterfaceName="foo:HolaMundo"
soap="true">
</http:endpoint>
</beans>
But when put "http://localhost:8080/jlbarreraWS" in a web browser i recived:
HTTP ERROR: 404
Unable to find requested resource
RequestURI=/jlbarreraWS/
¿?¿? How i can access to webservices throught the Servicemix??
Thanks!
Alessio D wrote:
>
> After many, many, too many attempts, finally I have understood how to
> expose external webservice, that is how to proxy one or more webservices
> (wsdl included).
> (servicemix.xml file is attached)
>
> Suppose I have two webservice to proxy at urls
> http://pc-webservice:8080/axis/services/AxisWebservice
> http://pc-webservice2:8080/xfire/services/XFireWebservice
>
> 1) I have to connect the wsdl and the remote webservices to the
> endpoints (providers)
>
> <http:endpoint service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP"
> targetService="ns1:AxisWebservice"
> role="provider"
>
> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>
> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
> />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP"
> targetService="ns2:XFireWebservice"
> role="provider"
>
> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>
> wsdlResource="http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
> />
>
> 1) I have to make a connector for riceiving requests form clients
> (consumers). I used http-component to make this:
>
> <http:endpoint
> service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP"
> targetService="myns:routerForAxis"
> role="consumer" soap="true"
>
> targetInterfaceName="ns1:AxisWebservicePortType"
>
> locationURI="http://localhost:8080/services/AxisService/"
>
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP"
> targetService="myns:routerForXFire"
> role="consumer" soap="true"
>
> targetInterfaceName="ns1:XFireWebserviceSEI"
>
> locationURI="http://172.30.10.183:8888/services/XFireService/"
>
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
>
> 3) I have to create an invoker for the webservice
>
> <sm:activationSpec componentName="axisServiceComponent"
> service="myns:targetForAxis" endpoint="axisService">
> <sm:component>
> <bean
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="xfireServiceComponent"
> service="myns:targetForXFire" endpoint="xfireService">
> <sm:component>
> <bean
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
>
> 4) Now let's create a service for redirecting the request, for example
> the wireTrap router.
>
> <sm:activationSpec componentName="wireTrapAxis">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap endpoint="wireTrapAxisEndpoint"
> service="myns:axisWireTrap">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForAxis" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="wireTrapXFire">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap endpoint="wireTrapXFireEndpoint"
> service="myns:xfireWireTrap">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForXFire" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
>
> The myns:trace service is simply a logger components that log messages
>
> 5) The chain is finished now we have the two external webservices
> exposed at urls
> http://localhost:8080/services/AxisService/
> http://localhost:8080/services/XFireService/
>
> and their wsdl
>
> http://localhost:8080/services/AxisService?wsdl
> http://localhost:8080/services/XFireService?wsdl
>
> 6) complete listing of servicemix.xml and some explanation
>
> <!-- Namespaces of the webservices wsdl must match the local namespaces
> of the servicemix local services.
> Take a look at the ns1 and ns2 namespaces.
> You can retrieve this namespaces from the first line of the wsdl
> document
> as attribute of the root tag definitions.
> <definitions name="AxisWebservice"
> targetNamespace="http://axis.webservice.namespace">
>
> The myns namespace is a user choosen namespace for dividing external
> service from servicemix internal services
> -->
>
> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
> xmlns:eip="http://servicemix.apache.org/eip/1.0"
> xmlns:http="http://servicemix.apache.org/http/1.0"
> xmlns:ns1="http://axis.webservice.namespace"
> xmlns:ns2="http://xfire.webservice.namespace"
> xmlns:myns="http://myNameSpace/servicemix/1.0">
>
> <!-- the JBI container -->
> <sm:container id="jbi" useMBeanServer="true"
> createMBeanServer="true" dumpStats="true" statsInterval="10">
> <sm:activationSpecs>
> <sm:activationSpec componentName="provider">
> <sm:component>
> <http:component>
> <http:endpoints>
> <!-- REMEBER: Namespaces of the webservices
> wsdl must match the local
> namespaces of the servicemix local
> services.
> You can retrieve this namespace from the
> first line of the wsdl document
> as attribute of the root tag definitions.
> <definitions name="AxisWebservice"
> targetNamespace="http://axis.webservice.namespace">
>
> The name of the local servicemix service
> and targetService
> (service="ns1:AxisWebservice"
> targetService="ns1:AxisWebservice")
> must match the name of the webservice.
> This information is in the wsdl too, as
> attribute of tag <service
> name="AxisWebservice"> (at the end of wsdl)
>
> The endpoint name
> (endpoint="axisWebserviceEP") is a your choice.
>
> The role must be provider
> (role="provider")
>
> The wsdlResource must point to the wsdl
> definition
>
> (wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl")
>
> The locationURI is the address where the
> webservice is listening.
>
> (locationURI="http://pc-webservice:8080/axis/services/AxisWebservice")
> Also this can be retrieved from wsdl as
> attribute of tag
> <wsdlsoap:address
> location="http://pc-webservice:8080/axis/services/AxisWebservice"/>
> at the end of wsdl
> -->
> <http:endpoint service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP"
> targetService="ns1:AxisWebservice"
> role="provider"
>
> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>
> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
> />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP"
> targetService="ns2:XFireWebservice"
> role="provider"
>
> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>
> wsdlResource="http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
> />
> </http:endpoints>
> </http:component>
> </sm:component>
> </sm:activationSpec>
>
> <sm:activationSpec componentName="consumer">
> <sm:component>
> <http:component>
> <http:endpoints>
> <!-- The name of the local servicemix
> service and endpoint must match the linked provider http:endpoint
> (service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP")
>
> The role must be consumer
> (role="consumer")
>
> The soap attribute must be true for
> compliant wsdl (soap="true")
>
> The locationURI is the address where
> servicemix must expose the webservice.
>
> (locationURI="http://localhost:8080/services/AxisService/")
>
> The targetInterface name is the name of
> the interface to expose.
> You can retrieve this from wsdl as
> attribute of tag <portType name="AxisWebservicePortType">
> in the middle of wsdl.
>
> The defaultMep attribute is for
> specifying if the endpoint is for in-out (wait for response)
>
> (defaultMep="http://www.w3.org/2004/08/wsdl/in-out")
>
> The targetService is the servicemix
> local service to forwarding received message
> (targetService="myns:routerForAxis")
> -->
> <http:endpoint service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP"
> targetService="myns:routerForAxis"
> role="consumer" soap="true"
>
> targetInterfaceName="ns1:AxisWebservicePortType"
>
> locationURI="http://localhost:8080/services/AxisService/"
>
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP"
> targetService="myns:routerForXFire"
> role="consumer" soap="true"
>
> targetInterfaceName="ns1:XFireWebserviceSEI"
>
> locationURI="http://172.30.10.183:8888/services/XFireService/"
>
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> </http:endpoints>
> </http:component>
> </sm:component>
> </sm:activationSpec>
>
> <!-- This component invokes the remote service.
> The soapAction property is the default soapAction.
> Without this property set no SOAPAction header is addes
> and some
> webservices providers (like Axis) could not work -->
> <sm:activationSpec componentName="axisServiceComponent"
> service="myns:targetForAxis" endpoint="axisService">
> <sm:component>
> <bean
>
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean
> class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
>
> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="xfireServiceComponent"
> service="myns:targetForXFire" endpoint="xfireService">
> <sm:component>
> <bean
>
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean
> class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
>
> value="http://pc-webservice2:8080/xfire/services/XFireWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
>
> <!-- This is a simple trace component to log messages routed
> here -->
> <sm:activationSpec componentName="trace"
> service="int:trace">
> <sm:component>
> <bean xmlns="http://xbean.org/schemas/spring/1.0"
>
> class="org.apache.servicemix.components.util.TraceComponent" />
> </sm:component>
> </sm:activationSpec>
>
> <!-- The routing services -->
> <sm:activationSpec componentName="wireTrapAxis">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap
> endpoint="wireTrapAxisEndpoint"
> service="myns:routerForAxis">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForAxis" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="wireTrapXFire">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap
> endpoint="wireTrapXFireEndpoint"
> service="myns:routerForXFire">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForXFire" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
> </sm:activationSpecs>
> </sm:container>
> </beans>
>
>
>
>
> <!-- Namespaces of the webservices wsdl must match the local namespaces of
> the servicemix local services.
> Take a look at the ns1 and ns2 namespaces.
> You can retrieve this namespaces from the first line of the wsdl document
> as attribute of the root tag definitions.
> <definitions name="AxisWebservice"
> targetNamespace="http://axis.webservice.namespace">
>
> The myns namespace is a user choosen namespace for dividing external
> service from servicemix internal services
> -->
>
> <beans xmlns:sm="http://servicemix.apache.org/config/1.0"
> xmlns:eip="http://servicemix.apache.org/eip/1.0"
> xmlns:http="http://servicemix.apache.org/http/1.0"
> xmlns:ns1="http://axis.webservice.namespace"
> xmlns:ns2="http://xfire.webservice.namespace"
> xmlns:myns="http://myNameSpace/servicemix/1.0">
>
> <!-- the JBI container -->
> <sm:container id="jbi" useMBeanServer="true"
> createMBeanServer="true" dumpStats="true" statsInterval="10">
> <sm:activationSpecs>
> <sm:activationSpec componentName="provider">
> <sm:component>
> <http:component>
> <http:endpoints>
> <!-- REMEBER: Namespaces of the webservices wsdl must match the
> local
> namespaces of the servicemix local services.
> You can retrieve this namespace from the first line of the wsdl
> document
> as attribute of the root tag definitions.
> <definitions name="AxisWebservice"
> targetNamespace="http://axis.webservice.namespace">
>
> The name of the local servicemix service and targetService
> (service="ns1:AxisWebservice" targetService="ns1:AxisWebservice")
> must match the name of the webservice. This information is in the
> wsdl too, as
> attribute of tag <service name="AxisWebservice"> (at the end of
> wsdl)
>
> The endpoint name (endpoint="axisWebserviceEP") is a your choice.
>
> The role must be provider (role="provider")
>
> The wsdlResource must point to the wsdl definition
>
> (wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl")
>
> The locationURI is the address where the webservice is listening.
>
> (locationURI="http://pc-webservice:8080/axis/services/AxisWebservice")
> Also this can be retrieved from wsdl as attribute of tag
> <wsdlsoap:address
> location="http://pc-webservice:8080/axis/services/AxisWebservice"/>
> at the end of wsdl
> -->
> <http:endpoint service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP" targetService="ns1:AxisWebservice"
> role="provider"
>
> locationURI="http://pc-webservice:8080/axis/services/AxisWebservice"
>
> wsdlResource="http://pc-webservice:8080/axis/services/AxisWebservice?wsdl"
> />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP" targetService="ns2:XFireWebservice"
> role="provider"
>
> locationURI="http://pc-webservice2:8080/xfire/services/XFireWebservice"
>
> wsdlResource="http://pc-webservice2:8080/xfire/services/XFireWebservice?wsdl"
> />
> </http:endpoints>
> </http:component>
> </sm:component>
> </sm:activationSpec>
>
> <sm:activationSpec componentName="consumer">
> <sm:component>
> <http:component>
> <http:endpoints>
> <!-- The name of the local servicemix service and endpoint must
> match the linked provider http:endpoint
> (service="ns1:AxisWebservice" endpoint="axisWebserviceEP")
>
> The role must be consumer (role="consumer")
>
> The soap attribute must be true for compliant wsdl (soap="true")
>
> The locationURI is the address where servicemix must expose the
> webservice.
> (locationURI="http://localhost:8080/services/AxisService/")
>
> The targetInterface name is the name of the interface to expose.
> You can retrieve this from wsdl as attribute of tag <portType
> name="AxisWebservicePortType">
> in the middle of wsdl.
>
> The defaultMep attribute is for specifying if the endpoint is for
> in-out (wait for response)
> (defaultMep="http://www.w3.org/2004/08/wsdl/in-out")
>
> The targetService is the servicemix local service to forwarding
> received message
> (targetService="myns:routerForAxis")
> -->
> <http:endpoint service="ns1:AxisWebservice"
> endpoint="axisWebserviceEP" targetService="myns:routerForAxis"
> role="consumer" soap="true"
> targetInterfaceName="ns1:AxisWebservicePortType"
> locationURI="http://localhost:8080/services/AxisService/"
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> <http:endpoint service="ns2:XFireWebservice"
> endpoint="xfireWebserviceEP" targetService="myns:routerForXFire"
> role="consumer" soap="true"
> targetInterfaceName="ns1:XFireWebserviceSEI"
> locationURI="http://172.30.10.183:8888/services/XFireService/"
> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
> </http:endpoints>
> </http:component>
> </sm:component>
> </sm:activationSpec>
>
> <!-- This component invokes the remote service.
> The soapAction property is the default soapAction.
> Without this property set no SOAPAction header is addes and some
> webservices providers (like Axis) could not work -->
> <sm:activationSpec componentName="axisServiceComponent"
> service="myns:targetForAxis" endpoint="axisService">
> <sm:component>
> <bean
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean
> class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
> value="http://pc-webservice:8080/axis/services/AxisWebservice" />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="xfireServiceComponent"
> service="myns:targetForXFire" endpoint="xfireService">
> <sm:component>
> <bean
> class="org.apache.servicemix.components.saaj.SaajBinding">
> <property name="soapAction" value="" />
> <property name="soapEndpoint">
> <bean
> class="javax.xml.messaging.URLEndpoint">
> <constructor-arg
> value="http://pc-webservice2:8080/xfire/services/XFireWebservice"
> />
> </bean>
> </property>
> </bean>
> </sm:component>
> </sm:activationSpec>
>
> <!-- This is a simple trace component to log messages routed here -->
> <sm:activationSpec componentName="trace"
> service="int:trace">
> <sm:component>
> <bean xmlns="http://xbean.org/schemas/spring/1.0"
> class="org.apache.servicemix.components.util.TraceComponent" />
> </sm:component>
> </sm:activationSpec>
>
> <!-- The routing services -->
> <sm:activationSpec componentName="wireTrapAxis">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap
> endpoint="wireTrapAxisEndpoint" service="myns:routerForAxis">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForAxis" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
> <sm:activationSpec componentName="wireTrapXFire">
> <sm:component>
> <eip:component>
> <eip:endpoints>
> <eip:wire-tap
> endpoint="wireTrapXFireEndpoint"
> service="myns:routerForXFire">
> <eip:target>
> <eip:exchange-target
> service="myns:targetForXFire" />
> </eip:target>
> <eip:outListener>
> <eip:exchange-target
> service="myns:trace" />
> </eip:outListener>
> </eip:wire-tap>
> </eip:endpoints>
> </eip:component>
> </sm:component>
> </sm:activationSpec>
> </sm:activationSpecs>
> </sm:container>
> </beans>
>
>
>
--
View this message in context: http://www.nabble.com/External-Webservices-binding-%28the-answer%29-tf1971463s12049.html#a8694310
Sent from the ServiceMix - User mailing list archive at Nabble.com.