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.