Hi Marco-

When I see *-component-su, I see JBI components.  I recommend looking into 
using Camel and OSGI packaging on ServiceMix 4.x, instead of using JBI.  JBI 
support is solid, but the standard isn't moving forward anymore and I would not 
suggest building new projects on JBI.

Matt

On Apr 12, 2011, at 10:07 AM, Marco Westermann wrote:

> Hi,
> 
> I fear I need further assistence. What I really miss is a tutorial where an 
> external web service is called.
> 
> What I have done:
> 
> I created a http-component-su qbus-article-poll-su (this wrappes the external 
> web service)
> 
> in the qbus-article-camel-su I implemented a simple camel route where the 
> service should be called and the response is written to a log, so I can see, 
> that the request works. But my problems start when implementing the 
> service-stub.
> 
> This is my service definion
> 
> <beans xmlns:http="http://servicemix.apache.org/http/1.0";
>       xmlns:impl="http://DefaultNamespace";
>       xmlns="http://www.springframework.org/schema/beans";
>       xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance";
>       xsi:schemaLocation="http://servicemix.apache.org/http/1.0 
> http://servicemix.apache.org/schema/servicemix-http-3.2.3.xsd
>       http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd";>
> 
> <http:soap-provider service="impl:ArticleBASService"
>                 endpoint="impl:ArticleBASSoapBinding"
>                 
> wsdl="http://arche:8080/ArticleService/services/ArticleBAS?wsdl"; />
> 
> </beans>
> 
> I think there is still something wrong: First of all I get exceptions in 
> Servicemix:
> Cound not find port 'impl:ArticleBAS' in wsdl for service 
> '{http://DefaultNamespace}ArticleBASService'
> 
> then I miss the reference to the operation I want to call (e.g. 
> getChangedArticles). Do I have to give this in the camel route or in the 
> http-component?
> 
> May somebody help me with my knowledge gaps? I attached the sourcecode for my 
> servicemix implementation and the wsdl-definition of the external service.
> 
> Many thanks and best regards,
> Marco
> 
> 
> 
> Am 08.04.2011 16:45, schrieb Matt Pavlovich:
>> Marco-
>> 
>> Check out XSLT.  You can extract data from that XML document and output it 
>> it any variety of formats, not just XML.  You'll want to capture the exact 
>> XML from "service one", so you can test your XSLT's.  A handy tool to do 
>> that is TCP Mon, available as an Eclipse plugin, or a stand alone tool.
>> 
>> XSLT:
>> http://w3schools.com/xsl/default.asp
>> 
>> TCPMon:
>> http://ws.apache.org/commons/tcpmon/download.cgi
>> 
>> Matt Pavlovich
>> 
>> 
>> On Apr 8, 2011, at 9:33 AM, Marco Westermann wrote:
>> 
>>> Hi, thank you for your response,
>>> 
>>> in fact there is some transformation needed for the response payload of 
>>> service call one.
>>> 
>>> The service one wrappes an activeX-Object and returns a string as part of a 
>>> complex type:
>>> 
>>> <element name="getChangedArticlesResponse">
>>> <complexType>
>>> <sequence>
>>> <element name="getChangedArticlesReturn"
>>>            type="xsd:string" />
>>> </sequence>
>>> </complexType>
>>> </element>
>>> 
>>> the string itself contains exactly the message which has to be routed to 
>>> service 2. Any idea how to make this work?
>>> 
>>> Thank you!
>>> 
>>> Marco
>>> 
>>> 
>>> Am 07.04.2011 17:39, schrieb Matt Pavlovich:
>>>> Hi Marco-
>>>> 
>>>> You could implement a very simple solution using Camel running in 
>>>> ServiceMix to do that.  Look into the timer, or quartz Camel components to 
>>>> start.
>>>> 
>>>> It would look something like:
>>>> 
>>>> <route>
>>>>    <from uri="timer..  configure to kick off every 5 mintues" />
>>>>    <to uri="http://webservice1:8080/call />
>>>>    <to uri="http://webservice2:8080/call2 />
>>>> </route>
>>>> 
>>>> The response from the webservice1 would be directed as the input to 
>>>> webservice2.  As long as the payload is exactly the same, you don't need 
>>>> to do anything.  If there are slight changes to the xml, you can insert a 
>>>> XSLT to take the response from webservice1 and send it to webservice2 as 
>>>> the input.
>>>> 
>>>> Time based invocation:
>>>> http://camel.apache.org/timer.html
>>>> http://camel.apache.org/quartz.html
>>>> 
>>>> Simple web service calls:
>>>> http://camel.apache.org/http.html
>>>> 
>>>> Advanced web service:
>>>> http://camel.apache.org/cxf.html
>>>> 
>>>> XSLT:
>>>> http://camel.apache.org/xslt.html
>>>> 
>>>> Matt Pavlovich
>>>> 
>>>> On Apr 7, 2011, at 7:59 AM, Marco Westermann wrote:
>>>> 
>>>>> Hi,
>>>>> 
>>>>> I try to implement the following process:
>>>>> 
>>>>> every 5 minutes I want to call a web Service take the answer and call 
>>>>> another web service with the return value from the first call.
>>>>> using bpel would be nice to do the job (ode?). Is there a tutorial which 
>>>>> does similar tasks? I think I have still an understanding problem on how 
>>>>> to use serviceMix.
>>>>> 
>>>>> Thank you for all advice you can give.
>>>>> 
>>>>> Marco
>>>> __________ Hinweis von ESET NOD32 Antivirus, Signaturdatenbank-Version 
>>>> 6025 (20110408) __________
>>>> 
>>>> E-Mail wurde geprüft mit ESET NOD32 Antivirus.
>>>> 
>>>> http://www.eset.com
>>>> 
>>>> 
>>>> 
>>>> 
>> 
>> __________ Hinweis von ESET NOD32 Antivirus, Signaturdatenbank-Version 6026 
>> (20110408) __________
>> 
>> E-Mail wurde geprüft mit ESET NOD32 Antivirus.
>> 
>> http://www.eset.com
>> 
>> 
>> 
>> 
> 
> <qbus_01.zip><ArticleBAS.wsdl>

Reply via email to